【发布时间】:2019-10-08 19:26:17
【问题描述】:
我们在系统中利用 AxonIQ 框架。我们在实现基于聚合业务字段的复合 uniq 约束时遇到了问题。
考虑以下聚合:
@Aggregate
public class PersonnelCardAggregate {
@AggregateIdentifier
private UUID personnelCardId;
private String personnelNumber;
private Boolean archived;
}
我们希望避免在未归档(归档 == 假)记录范围内出现人员编号重复。同时存档记录范围内可能存在人员编号重复。
查询端检查似乎不是一种选择。考虑到我们系统的最终一致性特性,可能同时存在多个相同personalNumber的创建请求,查询端可能落后。
解决办法是什么?
【问题讨论】:
标签: cqrs axon eventual-consistency