展望分布式架构

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

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

解决方案:

1. Spring Cloud NetFlix 提出来了一套解决方案 :

问题和解决方案 方案 原理
这么多服务,客户端该如何去访问? Zuul Api网关
这么多服务,服务之间如何进行通信? Feign HttpClient ,基于 HTTP
这么多服务,如何治理呢? Eureka 服务注册与发现
服务挂了,怎么办? Hystrix 熔断机制

2. Apache Dubbo Zookeeper 提出来了一套解决方案(不完善) :

问题和解决方案 方案 原理
这么多服务,客户端该如何去访问? 没有 Api网关
这么多服务,服务之间如何进行通信? Dubbo:RPC通信框架 HttpClient ,基于 HTTP
这么多服务,如何治理呢? Zookeeper 服务注册与发现
服务挂了,怎么办? 借助Hystrix 熔断机制

3. Spring Cloud Alibaba 提出来了一站式解决方案 :

问题和解决方案 方案 原理
这么多服务,客户端该如何去访问? \ Api网关
这么多服务,服务之间如何进行通信? \ HttpClient ,基于 HTTP
这么多服务,如何治理呢? \ 服务注册与发现
服务挂了,怎么办? \ 熔断机制

4. 服务网格

  • Server Mesh
  • istio

所有的方案都在解决四个问题

  1. API网关---------------------------------------------------------------解决服务路由问题
  2. HTTP/RPC框架-----------------------------------------------------解决异步调用问题
  3. 服务注册与发现-----------------------------------------------------解决高可用问题
  4. 熔断机制和服务降级-----------------------------------------------解决熔断问题

猜你喜欢

转载自blog.csdn.net/qq_40429067/article/details/113800817