加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

跨越聚合边界的交易

发布时间:2020-12-14 05:01:41 所属栏目:百科 来源:网络整理
导读:我有以下域建模问题,我似乎最终要么跨越一致性边界或创建一个巨大的聚合.有人可以帮我分手吗? JobA,JobB有两种工作类型. JobA由任务TaskA组成. JobB由任务TaskB组成. JobA和JobB是无关的.它们之间唯一共同点是它们都需要设备资源.我本来想创建5个可能互相引
我有以下域建模问题,我似乎最终要么跨越一致性边界或创建一个巨大的聚合.有人可以帮我分手吗?

JobA,JobB有两种工作类型. JobA由任务TaskA组成. JobB由任务TaskB组成. JobA和JobB是无关的.它们之间唯一共同点是它们都需要设备资源.我本来想创建5个可能互相引用的聚合根 – JobA将引用TaskA等等.

我可以将一份工作及其任务集中在一起.这是以引入其他开销为代价的,因为任务本身就是复杂的生物.但是,以下约束阻止我使用任一模型.

>如果任何任务仍未完成,则无法将作业标记为完成.此检查会导致事务跨越聚合边界(例如,TaskA和JobA).
>设备不能分配到1个以上的作业.此检查将跨越两个作业聚合.
>在作业完成之前必须释放设备.此交易将跨设备和工作总计.

只有一个聚合会将所有交易放在边界内,但这会使得总量不可能大.是否有一个隐藏在这一切中的不同模型我错过了?

解决方法

我认为最好的解决方案可能是使用最终的一致性.

当我对设计agreggates有疑问时,我总是看看Effective Agreggate Design by Vaughn Vernon.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读