当前位置: 首页 > 知识库问答 >
问题:

Kafka:谁坚持一个消费者群体会读到多个偏移量的信息?

苏伟志
2023-03-14

我知道一个Kafka队列分区中的所有消息(或偏移量)都有它的偏移量数,并且它负责偏移量的顺序。但是,如果我有一个Kafka消费者组(或单个Kafka消费者),它正在读取,特别是Kafka主题分区,那么它如何维护读取的偏移量消息,以及谁维护这个偏移量计数器?如果使用者发生故障,那么新使用者将如何从下一个未读(或未确认)偏移量开始读取偏移量。

共有1个答案

储国发
2023-03-14

有关消费者组的信息全部存储在内部Kafka主题__consumer_offsets中。每当一个新组试图从一个主题读取数据时,它就会检查其在该内部主题中的偏移量位置,该内部主题的删除策略设置为“压缩”。压缩使这个话题变得很小。

Kafka附带了一个命令行工具kafka-consumer-groups.sh,它帮助您了解为每个使用者组存储了哪些信息。

有关偏移跟踪的Kafka文档中给出了更多信息。

 类似资料:
  • null null 使用简单消费者或低级消费者可以控制分区,但如果一个实例宕机,其他三个实例将不会处理来自第一个实例中使用的分区的消息

  • 我有一个用例,其中数据将从kafkaTopic1流入程序(我们称之为P1),经过处理,然后持久化到数据库。P1将在一个多节点集群上,因此每个节点将处理大量的kafka分区(假设本主题有5个节点和50个kafka分区)。如果其中一个节点由于任何原因完全失败,并且有数据正在处理,那么该数据将丢失。 例如,如果kafkaTopic1上有500条消息,node2拉出了10条消息(因此根据偏移量要拉出的下一

  • 如有任何帮助,我们将不胜感激。

  • 我正在使用Kafka2.0版和java消费者API来消费来自一个主题的消息。我们使用的是一个单节点Kafka服务器,每个分区有一个使用者。我注意到消费者正在丢失一些消息。场景是:消费者投票主题。我为每个线程创建了一个消费者。获取消息并将其交给处理程序来处理消息。然后使用“至少一次”的Kafka消费者语义来提交Kafka偏移量来提交偏移量。同时,我有另一个消费者使用不同的group-id运行。在这个

  • 我正在阅读Kafka常见问题解答,他们如下所示。 •每个分区不会被每个使用者组中的多个使用者线程/进程使用。这允许每个进程以单线程方式使用,以保证分区内的使用者的顺序(如果我们将有序消息分割成一个分区并将它们传递给多个使用者,即使这些消息是按顺序存储的,它们有时也会被无序地处理)。 有没有可能,

  • 当一个组中只有一个消费者,并且认为消费者无法在session.time.out内进行轮询时,将触发重新平衡,但是在这种情况下,组中只有一个消费者,现在假设session.time.out是30秒和消费者民意调查后50秒组协调员将识别消费者后50秒,并允许它提交偏移或协调员将断开消费者和没有偏移得到提交,并将重新平衡消费者与新的消费者标识?如果上次提交的偏移量是345678,在下一次轮询中,它处理了