按团队提供的服务模式 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

按团队提供的服务模式

每个团队的服务模式不是按业务能力或服务分解单体,而是将其分解为由各个团队管理的微服务。每个团队都对一项业务能力负责,并拥有该能力的代码库。该团队独立开发、测试、部署或扩展其服务,主要与其他团队互动以协商 API。我们建议您将每项微服务分配给一个团队。但是,如果团队足够大,则多个子团队可以在同一个团队结构中拥有单独的微服务。下表说明了使用此模式的优势和劣势。

优点 劣势
  • 团队独立行动,很少协调。

  • 代码库和微服务并非由多个团队共享。

  • 团队可以快速创新和迭代产品功能。

  • 不同的团队可以使用不同的技术、框架或编程语言。注意:这些应该隐藏在定义明确且稳定的公共 API 后面。

  • 根据最终用户的功能或业务能力调整团队可能很困难。

  • 要交付更大、更协调的应用程序增量,还需要付出额外的努力,尤其是在团队之间存在循环依赖关系的情况下。

下图显示了如何将单体拆分为由各个团队管理、维护和交付的微服务。

由团队将单体分解为微服务