为什么我们需要卡夫卡EOS的交易担保

时间:2018-10-17 12:32:23

标签: apache-kafka kafka-producer-api

现在,幂等的生成器可以为每个 TopicPartition提供完全一次的保证,为什么我们需要事务来为跨多个TopicPartition的写入提供保证?

1 个答案:

答案 0 :(得分:1)

幂等生产者对于发送的每个个体生产请求仅保证一次语义。每个幂等请求都可以成功或失败,它们都是独立的。

另一方面,交易允许将多个请求(可能对许多分区和许多经纪人)进行分组,将它们全部视为一个组。因此,在提交事务时,要么全部成功,要么全部丢弃。