知识卡片
限界上下文与微服务并非一对一
内容
限界上下文帮助明确微服务边界,但二者不必一对一,需从团队边界与代码模型边界权衡。团队边界遵循康威定律,一个上下文不能由多团队承担;技术栈不同时团队边界更需与微服务对应,微服务粒度可细于上下文。代码模型上,一个微服务不能分部署于两进程,否则视为不同微服务;而采用CQRS的上下文其命令模型与查询模型可分进程部署、逻辑上仍属同一上下文。故微服务粒度细于或等于上下文粒度。发散:粒度关系不是固定公式,而随团队、技术栈、部署方式动态变化。
参考来源
- 位置:《解构领域驱动设计》第18章《领域驱动设计的战略考量》18.1.3(源文件:_epub-src/OEBPS/031.xhtml)
- 结论依据:原文从团队边界与代码模型边界两个维度论证微服务粒度细于或等于限界上下文粒度,否定一对一映射。
- 原始内容:这却不能说明它们之间一定存在一对一的映射关系……需要考虑团队与代码的边界对它们的影响,包括团队边界和代码模型边界。