Kafka - "exactly once delivery" 语义中的幂等生产者

Kafka - Idempotent producer in "exactly once delivery" semantic

从 2017 年 6 月 28 日发布的最新版本 Kafka (0.11.0.0) 开始,kafka 团队提供了新功能以支持 exactly once delivery。 下载最新版本后,我尝试按照 Producer configs 中的描述配置 Producer(通过 kafka-console-producer.sh 脚本执行):我设置了 enable.idempotence=truetransactional.id=0A0A

问题是,当我启动生产者时,我得到一个 ConfigExceptionacks 必须设置为 all-1(即使我设置了它在我作为参数传递给控制台脚本的 producer.properties 文件中)。

可能是无法使用控制台脚本设置幂等性的根本原因?此外,有没有办法通过提供的控制台脚本进行原子事务生成消息?

详情:

综上所述,所采用的解决方案基于两个主要概念:

控制台生产者设置自己的默认值。尝试添加 --request-required-acks "all"--request-required-acks -1 以将 acks 设置为 all 以代替默认值 1。