kafka中的java事件处理确认

b91juud3  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(307)

我试图在Kafka中实现某种事件处理。我有一些制作人在Kafka队列中发布事件。我还有一些消费者,他们获取事件、处理事件,并将处理后的数据保存在db中。但是,我需要确保每个事件都已处理并完成。如果某个事件在处理过程中从队列中取出后意外崩溃了怎么办?我怎样才能通知Kafka这个特殊事件仍未处理?有什么已知的模式吗?

xytpbqjk

xytpbqjk1#

kafka streams版本0.10.*按设计具有“至少一次”语义。一旦您使用db,如果每个事件都有自己的键,您还将得到“恰好一次语义”,因为如果您写入同一个键,就不会有重复。
如果你想确定这是正确的。启动kafka,生成数据,启动db,启动您的流,确保数据到达那里,现在停止您的db,在它出现一些错误时杀死stream,再次启动db,您将看到kafka再次将数据复制到您的db中。
你可以到这里进一步阅读

相关问题