# 分布式架构

# 微服务架构问题

分布式架构会需要的四个核心问题?

1. 这么多服务,客户端该如何去访问?
2. 这么多服务,服务之间如何进行通信?
3. 这么多服务,如何治理呢?
4. 服务挂了,怎么办?
1
2
3
4

解决方案:

  SpringCloud是一套生态,就是来解决以上分布式架构的4个问题
  想使用SpringCloud,必须要掌握SpringBoot,因为SpringCloud是基于SpringBoot

  1.Spring Cloud NetFlix, 出来了一套解决方案
    APi网关,zuul组件
    Feign-->HttpClient-->HTTP的通信方式,同步并阻塞(基于通信的)
    服务注册与发现,Eurek
    熔断机制,Hystrix

    2018年底,netflix宣布无限期停止维护。生态不再维护,就会脱节
  2. Apache Dubbo zookeper,第二套解决方案
    API:没有!那么找第三方组件,那么自己实现 (基于通信的)
    Dubbo是一个高性能的基于java实现 RPC通信框架
    服务注册发现,zookeeper(Hadooop,Hive)
    没有:借助了Hystrix
    不完善,Dubbo

  3.SpringCloud Alibaba 一站式解决方案

目前,又提出了一种方案:
  服务网格(service mesh):下一代微服务标准
  代表解决方案:istio(未来需要掌握的)

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

为什么要解决上面问题?
  网络是不可靠的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

# 思考

熟悉24中设计模式是去为了更好的去看源码

全量分析

评 论:

上次更新时间: 4/12/2022, 5:06:23 PM