我正在研究cqrs,并希望实现saga模式以使用Kafka处理分布式事务。
传奇会从其他聚合订阅域事件以发送命令。我的问题是域事件也将由聚合事件处理程序处理。
如果聚合事件处理程序成功处理了事件,则将提交偏移,以便代理中的作业消失。
让我们说一下聚合事件处理程序是否成功处理了该事件,但由于某些意外问题而未触发传奇。由于工作已经辞职,因此如果他们都生活在同一个消费者群体中,那么他们将永远不会接任这场盛会...
因此,对于集合而言,有一个消费群体并为传奇创建另一个消费群体有意义吗?
以便代理中的工作消失。
[我认为您误会了,使用Kafka主题中的消息不会删除它们。
您的传奇流的一部分应该是在每个服务完成其完整动作后才提交完整偏移量跟踪的动作
拥有一个消费群体作为汇总并为传奇创建另一个消费群体有意义吗?
当然,有中间主题很有意义。您可以使用Kafka Streams处理器来轻松实现