【问题标题】:Question on implementing cqrs/saga with Kafka关于用 Kafka 实现 cqrs/saga 的问题
【发布时间】:2020-01-31 14:12:56
【问题描述】:

我正在研究 cqrs,并希望实现 saga 模式以使用 Kafka 处理分布式事务。

传奇会从其他聚合订阅域事件以发送命令。我的问题是域事件也将由聚合事件处理程序处理。

如果聚合事件处理程序成功处理了事件,则将提交偏移量,以便代理中的作业消失。

假设聚合事件处理程序是否成功处理了该事件,但由于某些意外问题未触发 saga。由于工作已经消失,如果他们都生活在同一个消费者组中,saga 将永远不会收到该事件......

那么为聚合创建一个消费者组并为 saga 创建另一个消费者组有意义吗?

【问题讨论】:

  • “我的问题是域事件也将由聚合事件处理程序处理。” - 这个聚合事件处理程序是什么?它有什么作用?

标签: apache-kafka cqrs event-sourcing saga


【解决方案1】:

这样经纪人的工作就没了。

我认为您误解了消费来自 Kafka 主题的消息并不会删除它们。

您的 saga 流程的一部分应该是在每个服务完成其完整操作后提交完整偏移跟踪的操作

为聚合创建一个消费者组并为 saga 创建另一个消费者组是否有意义?

当然,有中间主题是有意义的。您可以使用 Kafka Streams 处理器轻松实现该功能

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    相关资源
    最近更新 更多