《实现领域驱动设计》读书笔记摘抄(13)—— 集成限界上下文

Administrator 524 2022-05-08

第13章 集成限界上下文

本章学习路线图

  • 温习有关集成限界上下文的基础知识
  • 学习通过REST资源的方式来集成限界上下文,以及这种方式的优缺点
  • 学习使用消息来集成限界上下文
  • 学习在不同限界上下文中维护重复信息时所面临的挑战
  • 学习通过示例进一步掌握集成限界上下文的设计方法

集成基础知识

有多种方式来进行限界上下文之间的集成:

  • 在一个限界上下文中暴露应用程序编程接口(API),然后再另一个限界上下文中通过远程过程调用(RPC)的方式访问该API。
  • 使用消息机制,每一个需要交互的系统都使用消息队列或订阅-发布机制。
  • 使用Restful HTTP。

分布式系统之间存在根本性区别

任何一个分布式开发者都应该知道以下分布式计算原则:

  • 网络是不可靠的。
  • 总会存在时间延迟,有时甚至非常严重。
  • 带宽是有限的。
  • 不要假设网络是安全的。
  • 网络拓扑结构将发生变化。
  • 知识和政策在多个管理员之间传播。(?)
  • 网络传输是有成本的。
  • 网络是异构的。

跨系统边界交换信息

我们需要一种可靠的方法在两个系统之间传递信息数据,所传递的信息数据的结构应该能被所有的系统所消费。有多种方式可以生成信息数据的结构,比如XML、JSON。

通过REST资源集成限界上下文

当一个限界上下文以URI的方式提供了大量的REST资源时,我们便可以称其为开放主机服务(3)

本章以SaaSOvation公司将REST原则应用与身份与访问上下文为例展开,具体详见书中分析过程和代码示例。

通过消息集成限界上下文

在使用消息进行继承时,任何一个系统都可以获得更高层次的自治性。只要消息基础设施正常工作,即使其中一个交互系统不可用,消息依然可以得到发送和投递。当事件发生时,系统将通过消息机制将这些时间发送到对事件感兴趣的相关方。

本章以Scrum产品和敏捷项目管理上下文的交互为例,给出通过消息集成的方式,具体详见书中分析过程、代码示例和注意事项。