四、微服务设计范式:
- 单一职责原则:单一职责原则指的是一个单位(类、方法或者服务)只应关注整个系统功能中单独、有界限的一部分。单一职责原则可以帮助我们更优雅的开发、更敏捷的交付。
- 服务自治原则:服务自治是指每个微服务应具备独立的业务能力、依赖与运行环境。在微服务架构中,服务是独立的业务单元,应该与其他的服务高度解耦。每个微服务从开发、测试、构建、部署,都应当可以进行独立运行,而不依赖其他的服务。
- 轻量级通信机制:微服务之间的通信应该是轻量级的并且是跨语言、跨平台的。比如REST协议。
- 微服务粒度:微服务的粒度是难点,也是争论的焦点。应当使用合理的粒度划分微服务,而不是一味的把服务做小。
在微服务的设计阶段,就应当确定起边界。微服务之间应相对独立并保持松耦合。“领域驱动设计(Domain Driven Design,DDD”中的“限界上下文(Bounded Context)”可以作为微服务边界、确定微服务粒度的重要依据。