Domain driven design 微服务依赖管理-治理还是域驱动设计?
背景:一家采用联合模式的国际公司由于慢性疼痛正在向微服务转型。具有快速部署能力的自治团队是非常理想的。尽管从理论上讲,服务确实相互依赖以获得更高的功能,但它们是自主的(独立开发和部署)。由于这是一种联邦模式和分散控制,我们不能像联合国那样强加严格的规则。由于不同国家的生产中存在多个版本,如果没有一个管理依赖关系的治理平台,我们预计会出现无法控制的混乱 让我们将需要协作的微服务集称为“兼容性集”。可以部署服务,但可能不满足其兼容性集中的更高功能。例如,MicroService A-4.3是完全自主的、部署的,并且工作完美。但是,为了满足业务功能8.6的要求,它必须与微服务B-5.4和微服务C-2.9协同工作。它们一起(A-4.3、B-5.4和C-2.9)构成一个“兼容性集” 有两种方法可以解决这一困境。现实生活中的微服务,在这里,橡皮踏上道路,从经验中学习 方法1)治理平台 理由:100多个国家的国际公司采用联邦模式。这意味着中央银行可以制定模式,但各个国家可以选择自己的命运——而且它们经常这样做。它经常会陷入混乱,而中央It团队正处于困境。DDD是一个理想世界的解决方案,在这个理想世界中,版本不一致不会破坏功能,比如发布不符合兼容性集的服务,单独无过错,但一起崩溃或导致有缺陷或不一致的功能Domain driven design 微服务依赖管理-治理还是域驱动设计?,domain-driven-design,dependency-management,microservices,soa-governance,Domain Driven Design,Dependency Management,Microservices,Soa Governance,背景:一家采用联合模式的国际公司由于慢性疼痛正在向微服务转型。具有快速部署能力的自治团队是非常理想的。尽管从理论上讲,服务确实相互依赖以获得更高的功能,但它们是自主的(独立开发和部署)。由于这是一种联邦模式和分散控制,我们不能像联合国那样强加严格的规则。由于不同国家的生产中存在多个版本,如果没有一个管理依赖关系的治理平台,我们预计会出现无法控制的混乱 让我们将需要协作的微服务集称为“兼容性集”。可以部署服务,但可能不满足其兼容性集中的更高功能。例如,MicroService A-4.3是完全自主
- 没有同质性,甚至没有术语的标准化
- 开发人员技能参差不齐,许多是初级的,许多人学习反应式编程和云本地技术
- 有界上下文严重依赖于共享词汇表,可能会变得很微妙,但在一个国际性的、技能混合的、运行多个版本的碎片化场景中,这是不可能强制执行的,并且是天真的假设
- 在这样一个异构系统中,单一业务模型的标准化是不现实的(但理想的)