DDD有界上下文api集成

时间:2017-10-22 14:09:37

标签: mapping domain-driven-design integration synchronous bounded-contexts

我有一个域,其中存在可以相互分配任务的团队成员。我有两个有限的背景:

TeamBC:管理团队成员及其信息。

TaskBC:管理任务及其任务。

TeamBC位于上游,TaskBC位于下游。 TeamBC中的“成员”概念是TaskBC中的“接收者”概念。任务的接收者是分配任务的团队成员。

我使用同步集成,在TeamBC中使用rest api,在TaskBC中使用ACL。收件人是TaskBC的VO。

我的问题:

当与rest api集成(不使用BC之间的消息传递)时,下游上下文是否必须复制来自上游的任何数据?在我的情况下...... TaskBC是否必须从TeamBC的成员实体中将任何数据存储在其数据库中?

1 个答案:

答案 0 :(得分:1)

通过消息传递进行仅事件集成,BC1别无选择,只能在收到消息时存储从BC2获得的有趣信息,因为它无法在需要时重新请求它们。 / p>

使用REST API集成,没有这样的限制。但是,强制自己只存储本地副本而不能直接与其他BC联系,仍然具有相对异步和/或较少直接呼叫的优势。

实际上,如果您选择通过API选择BC1 => BC2通知,则可能会选择两种情况中的一种:如果您选择轮询,则会出现异步,并且会有更少的直接通话。