微服务入门与 Delinkcious 示例应用
1. 微服务架构的仓库选择
在微服务架构中,有不同的仓库管理方式,每种方式都有其优缺点。
1.1 多仓库方式的问题
随着服务和项目数量的增长以及它们之间依赖关系图变得更加复杂,多仓库方式会带来显著成本:
- 应用更改通常需要跨多个仓库进行修改。
- 由于不同服务依赖不同版本的仓库,常常需要维护同一仓库的多个版本。
- 难以在所有仓库中进行全面的更改。
1.2 混合方式
混合方式使用少量仓库,每个仓库包含多个服务和项目。各个仓库相互隔离,但在每个仓库内,多个服务和项目可以同步开发。这种方式平衡了单仓库和多仓库的优缺点,适用于存在明确组织边界和地理边界的情况。例如,一家公司有多个完全独立的产品线,将每个产品线拆分为独立的单仓库是个不错的选择。
2. 数据策略
软件系统的一个重要职责是管理数据。数据类型多样,大多数数据应能在系统故障时存活或可重构,且数据之间通常存在复杂关系。
2.1 每个微服务一个数据存储
每个微服务一个数据存储是微服务架构的关键要素。当两个微服务能直接访问同一数据存储时,它们就会紧密耦合,不再独立。需要注意以下几点:
- 多个微服务可以使用同一数据库实例,但不能共享同一逻辑数据库。
- 数据库实例涉及资源配置,如果微服务开发团队负责配置数据存储,为每个微服务设置物理上独立的数据库实例是明智之举。不过,使用云数据存储时,开发人员无法控制和了解数据存储的物理配置。
- 一般情况下,不建议单个微服务管理两个或更多数据存储。若设计需要
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



