【发布时间】:2020-01-28 08:08:03
【问题描述】:
一些项目背景 - 仅供参考
在我们的系统中,我们对黄瓜进行了一些验收测试。在测试运行中,我们使用完全设置的微服务系统(本地机器)。事件溯源由 Axon Event Store 管理。
场景
我们将命令应用于聚合并触发业务事件。投影被实现为事件处理程序。 其他服务正在监听业务事件并读取写入的数据 (REST)。
我们这样做是为了让我们的活动保持小规模。
为了克服业务事件和投影之间的最终一致性周期,而读取发生在其他服务中,我们在黄瓜步骤中有许多语句,例如
Thread.sleep(5000L);
但睡眠值取决于底层硬件的性能指标。所以测试很脆弱。
问题 投影写入数据后是否可以选择触发事件?所以我们可以在保证真实性的情况下读取数据。
【问题讨论】:
标签: event-sourcing cucumber-java axon eventual-consistency