微服务:逻辑边界不是物理边界
💡
原文中文,约1600字,阅读约需4分钟。
📝
内容提要
微服务是具有有边界上下文的松散耦合的面向服务的架构,逻辑边界是跨越前端、后端、数据库和其他基础设施的垂直切片,拥有与其功能相关的一切。逻辑边界可以根据需要以不同方式组合,通过进程内通信进行同步通信。
🎯
关键要点
- 微服务是具有有边界上下文的松散耦合的面向服务的架构。
- 定义边界是微服务的重要部分,逻辑边界与物理边界不同。
- 逻辑边界是跨越前端、后端、数据库和其他基础设施的垂直切片。
- 逻辑边界包含与其功能相关的一切,包括 UI、后端 API 和数据库。
- 逻辑视图和物理视图可以相同,但不必相同,逻辑边界不必独立部署。
- 可以在单个存储库中拥有多个逻辑边界,作为单个部署单元构建。
- 逻辑边界之间的同步通信可以在进程内进行,而不是通过网络调用。
- 一个逻辑边界可以有多个源存储库,构建出不同的部署单元。
- 可以共享基础设施而不共享数据,单个数据库实例可以托管不同模式。
- 事件驱动架构或消息传递可以消除 RPC 或进程内调用,松散耦合逻辑边界。
- 逻辑边界与物理边界的区分开辟了许多可能性。
➡️