扫码阅读
手机扫码阅读
一个团队多少个微服务合适?

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。


TechLead 少个分号
扫码关注公众号
文章《少个分号》由公众号DDD和微服务发布,讨论了当前软件开发中微服务架构的挑战与维护问题。作者通过个人经历和行业观察指出,随着微服务的普及,一个开发者可能需要管理多个代码仓库,而这对于团队规模较小的项目尤其成为一个问题。
作者提到,过去常见的是多人协作在一个大型代码库上工作,但现在趋势已经转变为一个人需要处理多个微服务的代码库。这种转变对硬件配置和开发者的认知能力都提出了更高的要求。作者认为,虽然微服务在处理复杂系统和大团队时是合理的,但许多项目在微服务的边界和职责划分上并不明确,导致开发者在本地开发时不得不启动和修改多个服务,增加了认知负担。
针对微服务架构带来的认知负担问题,作者提出了一个衡量认知负担的公式。公式考虑了团队人数、人均服务维护量以及服务数量,通过对数运算得到一个“认知商”,以此衡量团队的压力。当认知商接近零时,表明没有认知负担;认知商为正表示过多人员维护一个服务,为负则表示服务过多。作者建议,认知商绝对值在0-1之间为安全,超过1则需要警惕。
最后,作者总结了“六个一原则”,来指导微服务的合理划分:每个服务由一个小团队维护、有明确职责、对应一个代码仓库、有对应的部署单元和配置、拥有一个数据库(如有必要)、以及对应一条流水线。这些原则旨在明确服务的责任、权限和职责边界,确保微服务的合理性。
想要了解更多内容?


TechLead 少个分号
扫码关注公众号
TechLead 少个分号的其他文章
系统设计 | RESTful API 使用问题和建议
项目上关于 RESTFul API 的痛点和注意事项整理
系统设计 | 高性价比的测试策略("瓜藤"比喻)
使用 E2E + Unit 的测试策略的显著提高测试覆盖率,驱动团队主动编写测试,并驱动代码应用和服务分离。
自我提升 | 软件工程中的"政治" (长文)
了解和驾驭政治几乎是架构师的必修课,因为架构师做出的每一个技术决策都可能受到挑战。
DDD 中的多对多关系建模
多对多关系是软件建模中比较的麻烦的场景,如果梳理不清楚对软件架构伤害很大。在不久前的一个项目中,十足的体验了一次多对多关系带来的痛苦。
系统设计 | 实时协作应用的设计
在线协同编辑是如何实现的?
加入社区微信群
与行业大咖零距离交流学习


PMO实践白皮书
白皮书上线
白皮书上线