【狂神说Java】SpringBoot 聊聊现在和未来

开发框架(架构的目的就是解耦)
   一、Spring
        IOC        AOP
            IOC :控制反转
                约泡:
                泡温泉,泡茶..... 泡友
                附近的人,打招呼。加微信,聊天,天天聊,--->约泡
                浴场(容器) :温泉,茶庄,泡友
                直接进温泉,就有人和你- -起了!
            
                原来我们都是自己一步步操作,现在交给容器了!我们需要什么就去拿就可以了
            AOP :切面(本质,动态代理)
                为了解决什么?不影响业务本来的情况下,实现动态增加功能,大量应用在日志,事务...等等方面
        Spring是一个轻量级的Java开源框架, 容器
目的:解决企业开发的复杂性问题
        Spring是春天,觉得他是春天,也十分复杂,配置文件!
        
   二、SpringBoot
        SpringBoot并不是新东西,就是Spri ng的升级版!
        新一代JavaEE的开发标准,开箱即用! ->拿过来就可以用!
        它自动帮我们配置了非常多的东西,我们拿来即用!
        
        特性:约定大于配置
随着公司体系越来越大,用户越来越多!
微服务架构--->新架构

    模块化,功能化!
    用户,支付,签到,娱乐,..... ;
    人多余多: -台服务器解决不了;在增加服务器!
横向
    假设A服务器占用98%资源,B服务器只占用了10% 。--负载均衡;
    
    将原来的整体项目,分成模块化,用户就是一个单独的项目,签到也是- -个单独的项目,项目和项目之前需要通信,如何通信?
    用户非常多,而签到十分少!给用户多点服务器 ,给签到少点服务器!  这就是引入了分布式!


三、微服务架构问题?
    分布式架构会遇到的四个核心问题?
    1.这么多服务,客户端该如何去访问?入口在哪里?
    2.这么多服务,服务之间如何进行通信?
    3.这么多服务,如何治理呢?
    4.服务挂了,怎么办?

四、解决方案:
    SpringCloud,是一套生态,就是来解决以上分布式架构的4个问题
    想使用SpringCloud,必须要掌握SpringBoot,因为SpringCloud是基于SpringBoot;
    1.Spring Cloud NetFlix,出来了一套解决方案! -站式解决方案。我们都可以直接去这里拿?
        Api网关,zuu1组件
        Feign --> HttpClient ---> HTTP的通信方式,同步并阻塞
        服务注册与发现,Eureka
        熔断机制,Hystrix
        
        2018年年底,NetFlix宣布无限期停止维护。生态不再维护,就会脱节。

    2. Apache Dubbo zookeeper, 第二套解决系统
        API :没有!要么找第三方组件,要么自己实现
        Dubbo是一个高性能的基于Java实现的RPC通信框架
        服务注册与发现,zookeeper:动物园管理者(Hadoop , Hive)
        没有:借助了Hystrix
        
        不完善,Dubbo.
    3. SpringCloud Alibaba - 站式解决方案!

 


五、万变不离其宗,一通百通!
    1.API网关,服务路由
    2.HTTP, RPC框架,异步调用
    3.服务注册与发现,高可用!
    4.熔断机制,服务降级

六、本质问题:网络是不可靠的


七、目前,又提出了一种方案:服务网格:下一代微服务标准,Server Mesh,代表解决方案: istio (你们未来可能需要掌握! )

posted @ 2022-03-10 20:28  zhaoyanhao  阅读(207)  评论(0编辑  收藏  举报