微服务的组合方式(二)

4.服务分支模式

        服务分支模式是服务代理模式、服务聚合模式和服务串联模式相结合的产物。

  分支服务可以有自己的数据库存储,调用多个后端服务或者服务串联链,然后将结果进行组合再返回客户端。

    分支模式也可以使用代理模式,简单地调用后端的某个服务或者服务链,然后将返回的数据直接返回使用方。

图片发自App

分支服务放大了服务的依赖关系,因此在现实的微服务设计中尽量保持服务的调用级别的简单,在使用服务组合和服务代理模式时,不要使用服务串联模式和服务分支模式,以保持服务依赖关系的清晰明了,减少日后维护的工作量。

5.服务异步消息模式

前面所有的服务组合模式都使用同步的RESTful风格同步调用来实现,同步调用模式在调用的过程中会阻塞线程,如果服务提供方迟迟没有返回,则服务消费方一直阻塞。

所以在构建微服务架构系统时,通常会梳理核心系统的最小化服务集合,这些核心的系统服务使用同步调用其他的服务可以使用异步消息队列进行异步化。

图片发自App

      聚合服务同步调用服务1和服务2,而服务2通过消息队列将异步消息传递给服务3和服务4。

6.服务共享数据模式

服务共享数据模式其实是反模式,微服务是去数据共享模式,服务之间依靠定义好的接口进行交互和通信,每个服务都是自治的。

一些平台对性能要求较高,可以共享缓冲,数据库;重构微服务的过程中也会用到。

图片发自App

你可能感兴趣的:(微服务的组合方式(二))