Kafka“恰好一次”语义学与最大轮询记录

wwwo4jvm  于 2023-03-07  发布在  Apache
关注(0)|答案(1)|浏览(115)

我对Apache Kafka Consumer中的max.poll.records配置有点困惑,因为Apache Kafka中的“恰好一次”语义。
根据我的研究,“恰好一次”语义与max.poll.records配置无关。
但是如果我设置max.poll.records=1,它会“降低”可能重复的概率和重复的数量吗?

qlvxas9a

qlvxas9a1#

不,这不会有任何区别,因为exactly once语义主要控制发送给Kafka的数据的事务行为。
由于Kafka的分布式本质,它最初支持至少一次(在情况下重试)和最多一次(不重试)语义。
下面是Kafka的简单定义

最多一次-消息可能会丢失,但不会重新传递。
至少一次-消息不会丢失,但可以重新传递。
只发送一次-这是人们真正想要的,每条消息只发送一次。

话虽如此,从消费者的Angular 来看,它是否会轮询1个或多个记录,这并不能保证这些记录是否是重复记录,这完全取决于您在生产者中考虑的交付保证。
我强烈建议您阅读下面的文章,这样会让事情变得更清楚

相关问题