美文网首页
按业务能力和限界上下文划分服务边界

按业务能力和限界上下文划分服务边界

作者: robot_test_boy | 来源:发表于2022-09-23 00:11 被阅读0次

业务能力指组织为了创造价值和实现业务目标所做的事情。被划为业务能力一类的微服务直接反映的是业务目标。在商业软件开发中,它们的业务目标通常是系统内部主要的变革驱动力。因此,设计系统的组织结构时,将那些变化区域封装在内部是很自然的事情。一些通过服务所实现的业务能力:订单管理、分类交易账簿、费用收取和向市场下单。

业务能力与领域驱动设计(DDD,Domain-Driven Design)的方法有着紧密的联系。领域驱动设计因埃里克·埃文斯(Eric Evans)的同名图书而得到普及。DDD专注于将现实世界领域构建为共享的、不断演进的视图和模型系统,其中一个最有用的概念是Evans引入的限界上下文(bounded context)。一个领域的任何解决方案都是由若干个限界上下文组成的。每个上下文内的各个模型是高度内聚的,并且对现实世界抱有相同的认知。每个上下文之间都有明确且牢固的边界。

限界上下文是有着清晰范围和明确外部边界的内聚单元。这就使得它们很自然会成为服务范围划分的起点。在一套解决方案中的各个领域部分之间通过上下文相互划定界限。这种上下文边界通常和组织边界非常吻合。比如,电子商务公司在发货和顾客支付这两个领域上的需求并不相同,对应的开发团队也不同。

在开始的时候,一个限界上下文通常直接和一个服务以及一块业务能力领域相关联。随着业务不断发展得越来越复杂,到最后,我们可能需要将一个上下文分解为多个子功能,其中的许多子功能需要实现为一个个独立的、相互协作的服务。但是,从客户端的角度看,这个上下文仍旧可以从逻辑上展示为一个服务。

摘取自 摩根·布鲁斯和保罗·A.佩雷拉的《微服务实战》

相关文章

  • 按业务能力和限界上下文划分服务边界

    业务能力指组织为了创造价值和实现业务目标所做的事情。被划为业务能力一类的微服务直接反映的是业务目标。在商业软件开发...

  • 按照易变性划分服务

    识别应用中的“名词”或业务能力划分服务边界和识别应用中的“动词”或业务用例划分服务边界,都是按功能划分服务的方法。...

  • DDD - 限界上下文的控制力(下)

    限界上下文封装了应用边界 架构师在划分限界上下文时,不能只满足于业务边界的确立,还得从控制技术复杂度的角度来考虑技...

  • 领域驱动与架构演进

    识别问题域,划分领域和限界上下文 业务能力全景图 业务流程 问题域,子域,界限上下文 概念数据模型 领域驱动+数据...

  • DDD领域驱动开发标准

    领域驱动和微服务的关系 领域驱动和微服务的关系如下图所示: 领域驱动划分微服务的方法论支持,其中限界上下文boun...

  • 实现领域驱动设计-集成限界上下文

    概念 领域模型是以限界上下文为边界的,集成限界上下文是跨上下文的,所以领域模型不是重点,本章更多是技术实现的指导。...

  • 重读领域驱动设计——如何说好一门通用语言

    结论先行: 在 DDD 中,通用语言是以限界上下文为边界的。如果一个产品或者项目有多个限界上下文,我们就需要为每个...

  • 限界上下文简介

    实现DDD的关键是,将限界上下文中领域模型所用到的每一个术语进行限界划分。 一个好的限界上下文中,每一个术语应该仅...

  • DDD落地过程中关于限界上下文的思考

    前言 DDD分为战略设计和战术设计,战略设计就是划分子域和限界上下文的过程。领域划分为子域的通用划分形式是把领域划...

  • 领域驱动3 限界上下文

    一.理解限界上下文 1.限界上下文的定义 限界上下文:Bounded Context1)上下文(Context)表...

网友评论

      本文标题:按业务能力和限界上下文划分服务边界

      本文链接:https://www.haomeiwen.com/subject/wpdeortx.html