对于apachekafka中每个分区的单个writer,要实现一次消息传递语义,需要采取哪些步骤?

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

对于apachekafka中每个分区的单个writer,要实现一次消息传递语义,需要采取哪些步骤?
我们如何设置或配置或编程来实现精确的一次消息传递语义?

9rygscc1

9rygscc11#

Kafka本身只能保证至少一次语义。只在上面建造一次是困难的。当前的一个建议是幂等生产者:https://cwiki.apache.org/confluence/display/kafka/idempotent+producer
因此,目前还没有一个配置可以只执行一次。
如果你想在kafka的基础上构建一个只写一次的东西,你需要一个唯一的消息id,在恢复时,你需要读取崩溃前写入主题的所有消息,找出最后一个成功编写的消息才能恢复正常的生产。
然而,这仍然不是端到端的精确一次,而只是一个生产者的精确一次。不确定这是否足以满足您的用例。

相关问题