代码之家  ›  专栏  ›  技术社区  ›  Sam

在微服务世界中,有界上下文意味着什么?

  •  2
  • Sam  · 技术社区  · 7 年前

    我一直在学习实现微服务,但我不理解术语“有界上下文”?

    我可以理解,这是由领域驱动设计产生的概念。但我无法理解它的技术实现。

    我查看了以下链接:

    1. microservices and bounded contexts
    2. https://martinfowler.com/bliki/BoundedContext.html
    3. https://docs.microsoft.com/en-us/dotnet/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-domain-model
    2 回复  |  直到 7 年前
        1
  •  8
  •   Constantin Galbenu    7 年前

    它是一个术语具有一致含义的最大区域/区域/地方(对于业务专家和开发人员来说,它的含义是相同的)。我故意避免使用“上下文”一词。理想情况下,有界上下文正是来自真实世界的域。

    谈到微服务,微服务不应大于有界上下文。

    更新

    A. Bounded context 应该是 如果系统设计正确,则为独立域;实际上,当事情做得不正确时 有界上下文 大于域。在大型企业中,一些开发人员创建对象(模型),试图捕获与某个术语相关的所有行为。例如 Product 在商店里。这个术语很宽泛。这个 产品 从网上商店和 产品 从库存系统来看,它们不是一回事,尽管它们可能看起来是这样的。在这种情况下,网店应该是有界上下文,而库存应该是不同的。

    实施

    例如,每个“产品”在每个有界上下文中都应该有一个不同的类。有界上下文可以是 已实施 as(更好的表达方式是“可以看作”)a namespace package 在巨石中,或作为 微服务 在分布式系统中。

        2
  •  1
  •   Kanishk    7 年前

    有界上下文是一个独立的域。让我们把它想象成公司中的另一个部门。类似于分离关注点。一种独立的上下文,其中所有涉众(业务分析师、测试人员、开发人员、业务人员)对有限上下文中使用的术语有相同的定义。然后,您可以拥有一个与每个有界上下文相对应的单独微服务。例如:如果你在保险领域,那么你可以拥有像客户、报价、保单等这样的有限上下文,并且可以为它们中的每一个提供微型服务。