【问题标题】:I have two different aggregates in the same bounded context and they both need to be created - should I use eventual consistency vs. Domain Service?我在同一个有界上下文中有两个不同的聚合,它们都需要创建——我应该使用最终一致性还是域服务?
【发布时间】:2020-07-11 02:00:23
【问题描述】:

假设我有一个聚合调用 JobSeeker 和另一个名为 ResumeBank 的调用,其中包含一组简历并与 JobSeeker 相关联。

业务问题:当我创建 JobSeeker 时,我还需要创建一个与该 JobSeeker 关联的 ResumeBank。

我应该创建一个域服务来协调这个还是应该使用最终一致性?

【问题讨论】:

  • 嗨,迈克。创建域服务与使用最终一致性有什么好处?
  • 即使您创建了域服务,如果它们是您指定的两个单独的聚合,它们仍然最终保持一致。能否请您重新表述一下这个问题?
  • 是的,我的问题是我是否应该创建一个域服务来进行两次调用:第一个是创建 JobSeeker 聚合,第二个是使用 JobSeeker ID 创建 ResumeBank?还是让 ResumeBank 聚合订阅“JobSeekerCreated”事件并从那里创建 ResumeBank?

标签: domain-driven-design ddd-service


【解决方案1】:

也许您可以将 JobSeeker 聚合定义为根聚合并使用存储库来管理一致性。

一篇不错的帖子解释了这些概念post

【讨论】:

  • JobSeeker 是 JobSeeker 聚合的聚合根,而 ResumeBank 是单独聚合的聚合根。
猜你喜欢
  • 2018-07-12
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 2019-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多