Java生态的总结

三层架构  + MVC

架构的目的:解耦

开发框架

1.Spring

  IOC    AOP

    IOC:控制反转

 

    AOP:切面,动态代理

      为了解决不影响业务本来的情况下,实现动态增加功能,大量应用在日志,事务等。

Spring是一个轻量级的Java开源框架,容器

目的:解决企业开发的复杂性问题

Spring是春天,但也十分复杂,配置文件相当繁琐!!

2.SpringBoot

SpringBoot并不是一个新东西,就是Spring的升级版!

新一代JavaEE的开发标准,开箱即用!

它自动帮我们配置了非常多的东西,我们拿来即用!

特性:约定大于配置

3.微服务架构(新的架构)

模块化、功能化!

  微服务架构问题:

  分布式架构会遇到的四个核心问题?

    1.这么多服务,客户端如何去访问?

    2.这么多服务,服务之间如何通信?

    3.这么多服务,如何治理?

    4.服务器宕机,怎么办?

  解决方案:

  SpringCloud 是一套生态,就是来解决以上分布式架构的四个问题

  想使用SpringCloud,必须要掌握SpringBoot,因为SpringCloud式基于SpringBoot;

 

  1. Spring Cloud NetFlix,出来了第一套解决方案,一站式解决方案。

    API网关:zuul组件

    Feign-->HttpClient-->Http的通信方式,同步并阻塞

         服务注册与发现:Eureka

    熔断机制:Hystrix

    2018年,NetFlix停止维护。

  2. Apache Dubbo zookeeper,第二套解决方案

    API:没有!要么找第三方,要么自己实现

    Dubbo:高性能的基于java实现的RPC通信框架!

    服务注册与发现:zookeeper

    熔断机制:没有,借助了Hystrix

  3. SpringCloud Alibaba 一站式解决方案

 

  4.目前,又提出一种方案(未来):

       服务网格:下一代微服务标准。Server Mesh

     代表解决方案:istio

核心解决的问题:

1.API网关,服务路由

2.HTTP,RPC框架,异步调用

3.服务注册与发现,高可用

4.熔断机制,服务降级

解决以上问题的本质:网络不可靠。

posted @ 2021-02-14 12:30  创客未来  阅读(213)  评论(0编辑  收藏  举报