微服务架构设计模式

Posted 一个励志擒妖的gopher

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务架构设计模式相关的知识,希望对你有一定的参考价值。

聚合器微服务设计模式

这是一种最常见也最简单的设计模式。聚合器调用多个服务实现应用程序所需的功能,它可以是一个简单的Web应用。将检索到的数据进行处理并展示缓存,也可以是一个更高层次的组合微服务,对检测到的数据增加业务逻辑后,进一步发布成一个新的微服务,这符合DRY原则。另外每个服务都有自己的缓存和数据库,如果一个聚合器是一个组合服务,那么它也有自己的缓存和数据库。

代理微服务设模式

微服务架构设计模式

这是聚合模式的一个变种。在这种情况下客户端并不聚合数据,但会根据业务需求的差别调用不同的微服务,代理可以仅仅委派任务请求,也可以进行数据转换工作,每个微服务都有自己独立的缓存和数据库系统,彼此独立。


链式微服务设计模式

微服务架构设计模式

这种模式在收到请求或会产生一个经过合并的响应。在这种情况下,服务A接收到请求后会与服务B进行通信,类似的服务B会同服务C进行通信,所有服务都使用消息在整个链式调用完成之前,客户端会一直阻塞。因此服务调用链不易过长,以免客户端长时间等待。


分支微服务设计模式

微服务架构设计模式

这种模式是聚合器模式的扩展,允许同时调用两个辅物料。每个调用链分别调用自己的服务,当某个调用出现问题时,相互之间不会造成影响。


数据共享微服务设计模式

自治是微服务的设计原则之一,也就是说微服务是全栈式的服务,但在重构现有的单体应用时,数据库反规范化可能会导致数据重复和不一致。因此在单体应用到微服务架构的过渡阶段可以使用这种设计模式。


异步消息传递微服务设计模式

虽然REST设计模式非常流行,但它是同步的,会造成阻塞,因此部分基于微服务的架构可能会选择使用消息队列代替REST请求响应。



参考:[1]张锋.微服务架构实战[M].中国工信出版集团,电子工业出版社:北京,2018:19.

以上是关于微服务架构设计模式的主要内容,如果未能解决你的问题,请参考以下文章

响应式微服务架构-分布式系统设计原则

分布式微服务架构设计原理_读书笔记_1

分布式微服务企业快速架构之SpringCloud分布式微服务云架构

SpringCloud+ Spring Boot + Mybatis + Uniapp分布式微服务企业快速架构之云架构&设计思想

SpringCloud+ Spring Boot + Mybatis + Uniapp分布式微服务企业快速架构之云架构&设计思想

SpringCloud+ Spring Boot + Mybatis + Uniapp分布式微服务企业快速架构之云架构&设计思想