我们正在使用使用的NodeJS微服务,CQRS,事件存储CQRS域,一切就像一个魅力和典型的流程是这样:CQRS +微服务处理事件的回滚
- REST-> 2。服务 - > 3。命令验证 - > 4。命令 - > 5。聚集物> 6。事件 - > 7。事件库(事务数据) - > 8。返回聚合ID-> 9.存储在微服务本地数据库(本质上是读数据库) - > 10.发布事件到队列
上面的流程的问题是,由于事务数据保存,即持久性到事件存储和存储到微服务的读取数据发生在不同的事务上下文中,如果在步骤9有任何失败,我应该如何处理已经传播到事件存储的事件和已经更新的聚合?
任何建议将不胜感激。
究竟是什么“9.存储在微服务本地数据库(本质上是读数据库)”? –
它是读取数据库的读取数据库,像GET,GETALL等发生的那样。 – vaibhav
它看起来像是将数据库中的聚合状态保存在数据库中?什么是第8步? –