软件开发架构师

2 微服务存在的问题和解决方案

架构 43 2019-03-22 22:46

1 微服务面临的问题?

   微服务间如何通信

  

 从通讯协议角度考虑

  • REST API
  • RPC(dubbo, thrift, grpc): 微服务之间通讯很常用,是最常用的微服务之间通信协议。

       I/O:  IO/ NIO(非阻塞IO)/长连接/短连接。(NIO是RPC时候考虑的问题。)

         线程模型: 单线程,多线程,线程调度算法。

         序列化方式: 二进制, JSON... ,序列化/反序列化效率影响性能。

        多语言:   如果是多语言的话,要使用支持多语言的RPC框架。

        服务治理: 服务监控、治理。

         流行的RPC: dubbo,Dubbox(当当),Motan, Thrift, Grpc

  • MQ(消息队列)

   微服务如何彼此发现

   微服务如何部署?更新?扩容?

2 流行的RPC框架

  dubbo, Motan:  只是支持JAVA, 并且实现了服务治理(服务治理:包括服务发现,服务注册,服务摘抄, 高可用, 负载均衡

   Thrift(跨语言): 跨语言,没有实现服务治理;

   GRPC:  跨语言,不是基于

      

 3 服务发现

   客户端发现

  客户端发现

4 服务部署、更新和扩容

5 服务编排

  服务编排:服务发现,服务部署,更新扩容、缩容。

    Mesos  Docker  Swarm.

   

文章评论