目前,我正在使用KafkaSource从多个事件流中获取记录。每个事件流都有一个分区。我想检查是否在Flink应用程序中有相同的消费者组发生重新平衡。期望值:一个Flink应用程序将处理消息,而另一个不会得到任何消息,因为它们都在同一个消费者组中。实际结果:两个应用程序都收到相同的消息,即使使用者组名称相同。这是预期行为吗?
3htmauhk1#
Flink的Kafka来源并不依赖于Kafka的消费群体来消费Kafka,这是一种暗示:https://nightlies.apache.org/flink/flink-docs-stable/docs/connectors/datastream/kafka/#consumer-offset-committing:请注意,Kafka源代码并不依赖于提交的偏移量进行容错。提交偏移量仅用于公开使用者和使用组的进度以进行监视。它没有明确说明,但是除了使用提交的偏移量作为起点(使用setStartingOffsets)和显示进度之外,Flink的Kafka源代码在较低级别管理分区分配,并且不依赖于消费者组。
setStartingOffsets
1条答案
按热度按时间3htmauhk1#
Flink的Kafka来源并不依赖于Kafka的消费群体来消费Kafka,这是一种暗示:https://nightlies.apache.org/flink/flink-docs-stable/docs/connectors/datastream/kafka/#consumer-offset-committing:
请注意,Kafka源代码并不依赖于提交的偏移量进行容错。提交偏移量仅用于公开使用者和使用组的进度以进行监视。
它没有明确说明,但是除了使用提交的偏移量作为起点(使用
setStartingOffsets
)和显示进度之外,Flink的Kafka源代码在较低级别管理分区分配,并且不依赖于消费者组。