开发者社区 > 云原生 > 微服务 > 正文

微服务架构设计的经典设计模式有哪些?

微服务架构设计的经典设计模式有哪些?

展开
收起
1358896759097293 2021-05-04 21:30:55 1048 0
1 条回答
写回答
取消 提交回答
  • 45271990@qq.com

    1.业务分解:DDD模式 2.DataBase PerService每数据库单服务 3.API Gateway pattern API网关模式 4.Client-side Discovery和 Server-side Discovery模式 5.Messaging和Remote Procedure Invocation模式 6.SingleServiceper Host和 Multiple Services per Host 模式7 7.AOP: Microservice chassis pattern 8.Externalized configuration 9.Service Component Test和Service Integration Contract Test 10.Circuit Breaker断路器模式 11.Access Token访问令牌模式 12.观察者模式:Distributed tracing、 Health check API 13.UI模式:MVC、MVPMVVM模式

    微服务架构中的经典的设计模式,一般提到微服务会认为微服务架构指的是一种架构,实际上微服务架构本身涵盖几十种设计模式,可能后续还有更多的设计模式。
    37.png

    如图所示,以微服务架构为中心向外发散,有许多设计模式,正下方有两个,一个叫客户端发现,一个叫服务端发现,服务的注册和发现机制也是一个设计模式,微服架构属于更复杂的分布架构,里面也会用到消息通信,通过消息和数据库、其他微服务进行消息补偿。 网关的微服务太多,只有一个出口,需要给它同一个代理;安全问题,如图中 Access token,和令牌相关的;另外还有高并发的熔断限流,circuit breaker叫断路器模式,熔断相关,分布式日志、分布式加策、追踪、服务拆分模式、单数据库模式、单实例、单数据库模式多服务共享数据库模式、服务编排模式、统一配置模式等等。 这里主要是分布式架构领域相关的设计模式,还有分布式事务模式,一般用的都是补偿的方式。 服务拆分的一般借鉴DDD模式,但不是照搬,不能完全等同。

    2021-05-05 23:00:39
    赞同 展开评论 打赏

为微服务建设降本增效,为微服务落地保驾护航。

相关电子书

更多
MaxCompute架构升级及开放性解读 立即下载
MaxCompute Serverless 架构演进 立即下载
阿里云消息队列的 Serverless架构演进 立即下载