【发布时间】:2018-06-01 03:22:35
【问题描述】:
我们正在使用 Lagom 来开发我们的一组微服务。这里的诀窍是,虽然我们使用事件源并将事件持久化到 cassandra 中,但我们也必须将数据存储在其中一个图形数据库中,因为由于用例,它将是为大多数查询提供服务的数据库.
根据 Lagom 的文档,在命令处理程序将事件持久保存到 cassandra 之后,必须在 ReadSideProcecssor 中完成对 Graph 数据库(或任何其他数据库)的所有插入,遵循 CQRS 的理念。
现在这是我们面临的问题。我们认为ReadSideProcecssor 是一个监听器,在事件生成并持久化后触发。我们想要的是我们可以将响应从ReadSideProcecssor 返回到ServiceImpl。例如,将用户添加到系统时,必须将图形生成的唯一 ID 作为响应标头之一返回。由于响应是从 setCommandHandler 而不是 ReadSideProcessor 构建的,因此如何在 Lagom 中实现这一点。
此外,我们需要确保如果由于图形端的任何错误,API 应该通知客户端请求失败,但 ReadSideProcessor 中发生的异常不会传播到 PersistentEntity 或 @987654329 @ 班级。如何也能做到这一点?
非常感谢任何帮助。
【问题讨论】:
标签: cqrs event-sourcing lagom