1 微服务架构4个核心问题(网络不可靠)

  1. 这么多服务,客户端该怎么访问?(API网关)
  2. 这么多服务,服务之间如何通信?(HTTP、RPC)
  3. 这么多服务,如何治理?(注册和发现)
  4. 服务挂了怎么办?(熔断机制)

2 解决方案

1、SpringCloud + NetFlix(一站式解决方案!)

  • API网关:zuul组件。
  • 通信:Feign(HttpClient,Http通信方式,同步,阻塞)。
  • 服务注册与发现:Eureka。
  • 熔断机制:Hystrix。
  • ……

2、Apache Dubbo + Zookeeper(半自动,需要整合别人的!并不完善)

  • API网关:没有,找第三方组件或自己实现。
  • 通信:Dubbo。
  • 服务注册与发现:Zookeeper。
  • 熔断机制:借助Hystrix。

3、SpringCloud + Alibaba(一站式解决方案!更简单)

3 新概念

  • 服务网格(Server Mesh)。
  • istio。