跨越聚合边界的交易
发布时间: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). 只有一个聚合会将所有交易放在边界内,但这会使得总量不可能大.是否有一个隐藏在这一切中的不同模型我错过了? 解决方法
我认为最好的解决方案可能是使用最终的一致性.
当我对设计agreggates有疑问时,我总是看看Effective Agreggate Design by Vaughn Vernon. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |