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模式
微服务架构中的经典的设计模式,一般提到微服务会认为微服务架构指的是一种架构,实际上微服务架构本身涵盖几十种设计模式,可能后续还有更多的设计模式。
如图所示,以微服务架构为中心向外发散,有许多设计模式,正下方有两个,一个叫客户端发现,一个叫服务端发现,服务的注册和发现机制也是一个设计模式,微服架构属于更复杂的分布架构,里面也会用到消息通信,通过消息和数据库、其他微服务进行消息补偿。 网关的微服务太多,只有一个出口,需要给它同一个代理;安全问题,如图中 Access token,和令牌相关的;另外还有高并发的熔断限流,circuit breaker叫断路器模式,熔断相关,分布式日志、分布式加策、追踪、服务拆分模式、单数据库模式、单实例、单数据库模式多服务共享数据库模式、服务编排模式、统一配置模式等等。 这里主要是分布式架构领域相关的设计模式,还有分布式事务模式,一般用的都是补偿的方式。 服务拆分的一般借鉴DDD模式,但不是照搬,不能完全等同。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。