《微服务设计》第 5 章 分解单块系统
- 2019 年 10 月 8 日
- 筆記
第 5 章 分解单块系统
5.1 关键是接缝
- 从接缝处可以抽取出相对独立的一部分代码,对这部分代码进行修改不会影响系统的其他部分。识别出接缝不仅仅能够清理代码库,更重要的是,这些被识别出的接缝可以成为服务的边界
5.2 分解MusicCorp
5.3 分解单块系统的原因
5.3.1 改变的速度
- 我们可能会对库存管理方面的代码做大量修改。所以如果现在把仓库接缝抽出来作为一个服务,使其成为一个自治单元,那么后期开发的速度将大大加快
5.3.2 团队结构
- MusicCorp 的交付团队事实上分布在两个不同的地区,一个团队在伦敦,另一个在夏威夷(有些人太舒服了!)。最好能把夏威夷团队维护的大部分代码分离出来
5.3.3 安全
- MusicCorp 有安全审计的机制,并且决定对敏感信息做更加严密的保护
5.3.4 技术
- 维护推荐系统的团队研究出了一种新的算法,这种算法使用了 Clojure 语言中逻辑式编程的库,并且认为这能够大大改善我们的服务
5.4 杂乱的依赖
- 另一个需要考虑的点是,这部分代码与系统剩余部分之间的依赖有多乱
书
- 《修改代码的艺术》