producerconfig for flinkkafkaproducer with exactly-once语义

nukf8bse  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(296)

当使用kafka api创建具有一次语义的kafka生产者时,必须设置两个属性: transactional.id 必须设置为事务id,并且 enable.idempotence 必须设置为true。
在Apache·Flink,一个 FlinkKafkaProducer 可以为生产者的所需语义配置参数,特别是值 Semantics.EXACTLY_ONCE 就一次。
查看 FlinkKafkaProducer ,事务ID将自动生成和维护。但是,我没有找到任何地方 enable.idempotence 对于 ProducerConfig 潜在的 KafkaProducer .
你觉得酒店怎么样 enable.idempotence 必须在 ProducerConfig 给予 FlinkKafkaProducer ,还是有什么我监督过的?

syqv5f0l

syqv5f0l1#

不,不需要按照Kafka文档中的说明进行设置:
如果设置了transactional.id,则幂等性将自动启用,同时生产者将配置幂等性所依赖的。
正如你所注意到的,在选择 Semantics.EXACTLY_ONCE Flink负责设置和控制 transactional.id 财产。
不过,这里可能会提到一些您感兴趣的其他属性。我不确定现在是怎么回事,但正如我上次检查的那样,默认的kafka代理/客户机配置实际上允许在某些场景中发生数据丢失。

相关问题