0

开放主机服务是一种在上下文之间进行映射的方式,适用于通过 API 公开访问的情况。什么是表示上下文之间映射的好方法,您打算在其中发布/使用域事件?

4

1 回答 1

2

当系统中发生域事件时,如何跨边界上下文进行交互?

通过事件进行交互是开发应用程序的一种非常强大的方式。一旦你习惯了这一点,你会觉得在系统内和跨系统交互非常简单方便(取决于业务需求)。

让我们考虑一下您分别有两个有界上下文上下文 A 和上下文B。在基于域模型中的某些业务逻辑的有界上下文 A 中,您希望通知其他有界上下文 B 采取某些行动。

在这种情况下,在域模型中执行您的业务逻辑之后。您可以从您的域服务创建一个域事件,并让您的应用程序服务(在本例中是上下文 A 的有界上下文的本地)在您的基础设施层的帮助下设法向发布者触发一个域事件。现在发布者可以将此事件存储在Event Store中,然后转发到Messaging Queue

有界上下文-B 中的订阅者可以安排监听总线上的事件并采取需要执行的操作。

因此,在领域驱动设计中,我们如何组织发布或订阅领域事件。

  • 如果有界上下文位于两个不同的代码库/项目中,那么使用事件存储消息队列总是很好
  • 如果它在同一个代码库中,您可以管理共同的发布者和订阅者,这有助于管理域事件。

希望这个高层次的解释可能会有所帮助。

于 2020-05-03T14:13:10.633 回答