微服务团队设计与运营指南
1. 决策记录与微服务基础
在进行微服务相关工作时,决策记录至关重要。最初考虑过项目管理工具和非正式的口碑记录方式,但前者因不想安装工具被排除,后者则不可靠。因此,需要记录决策的后果,主要包括:
- 为关键决策编写决策记录。
- 采用源代码管理解决方案来管理决策记录文件。
使用架构决策记录(ADR)来跟踪系统设计和构建中的关键决策是一种非常有用的方法,它能捕捉思考过程,还能促使做出理性、深思熟虑的决策。
微服务系统有其独特的特点和优势。它能减少协调成本,但复杂性和分析瘫痪也给采用者带来挑战。为应对这些挑战,可采用一种“快速上手”的微服务模型,该模型能加速实施者的学习过程。
2. 团队和人员的重要性
2.1 为何团队和人员至关重要
技术在微服务系统中固然重要,但仅有技术无法实现系统的价值。良好的技术选择能让原本困难的事情变得容易,但如果没有合适的文化和组织来运用这些技术,一切都是徒劳。
在微服务系统中,文化和团队设计起着关键作用。人们的决策方式、工作方式以及彼此之间的沟通方式,都会对最终的系统产生重大影响。一般来说,有三个人员因素对微服务系统影响最大:团队规模、团队技能和团队间协调。
2.2 团队规模
微服务中的“微”字暗示了规模的重要性,较小的规模通常更优。团队规模过大,成员之间的沟通成本会增加,导致团队交付变更的速度变慢;而规模过小,则可能无法完成工作。因此,合理确定团队规模是系统设计的重要环节。
以下是一些关于团队规模的经验和理论:
- 戈尔公司原则 <