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

Kafka中消费者级别偏移和消费者组偏移之间的差异

师俊健
2023-03-14

试图理解消费者补偿和消费者群体补偿之间的关系。

下面的堆栈溢出链接提供了对消费群体补偿管理的极好理解<什么决定Kafka消费补偿?现在问题来了,

情节:

我们在一个消费者组组1中有消费者(c1)。

  1. 偏移值是否将存储在消费者(c1)和组(group1)两个级别?或者如果消费者属于任何消费者组,偏移量将存储在仅消费者组级别?
  2. 如果偏移值将存储在两个级别中,它是否是消费者级别偏移值将覆盖消费者组级别偏移值。

示例

消费者级别偏移值-5消费者组级别偏移值-8系统何时从8重新启动?

反向:

消费者级别偏移值-8消费者组级别偏移值-5系统何时从5重新启动?

共有1个答案

柴嘉禧
2023-03-14

如果使用group启用了消费者组管理,则这取决于Kafka消费者组管理。id偏移量将存储在消费者组级别,以便在重新平衡时,新消费者可以从偏移量中读取。

如果消费者组管理被禁用,则偏移量存储在消费下,默认为group。如果用户不提供id,则id为空,因此在两个级别上都不可能存储偏移量

在这个版本中,偏移过期语义略有变化。根据新的语义,当组订阅了相应的主题并且仍然处于活动状态(具有活动的使用者)时,组中分区的偏移量不会被移除。如果组变为空,则其所有偏移将在默认偏移保留期(或代理设置的保留期)结束后删除(除非该组再次变为活动状态)。与不使用Kafka group manahtml" target="_blank">gement的独立(简单)使用者关联的偏移量将在默认偏移量保留期(或代理设置的保留期)自上次提交以来已过后删除。

组身份证件:

标识此消费者所属的消费者组的唯一字符串。如果消费者使用订阅(主题)或基于Kafka的偏移管理策略使用组管理功能,则需要此属性。

Type: stringDefault: nullValid Values:Importance: high
 类似资料:
  • 我有一个话题是两个消费群体消费的。题目中有10条留言。 现在我开始应用程序2(消费者组2),它正在消费相同的主题。它不在处理消息。当我描述kafka-consumer-groups(带有--group consumerGroup2)时,它令人惊讶地显示CURRENT-OFFSET=10和LOG-END-OFFSET=10。 理想情况下,这种情况不应该发生,并且kafka应该能够识别对于消费者组2没

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

  • null 当侦听器处理记录后返回时提交偏移量。 如果侦听器方法抛出异常,我会认为偏移量不会增加。但是,当我使用下面的code/config/command组合对其进行测试时,情况并非如此。偏移量仍然会得到更新,并且继续处理下一条消息。 我的配置: 验证偏移量的命令: 我使用的是kafka2.12-0.10.2.0和org.springframework.kafka:spring-kafka:1.1

  • 为什么实际主题中的偏移值与同一主题中的偏移值不同?PFB偏移位置以及使用的命令。 我错过了什么?

  • 我已经将enable.auto.commit设置为true,并将auto.commit.interval.ms设置为10,000(即10秒)。现在我的问题是--消费者是每个记录的提交偏移量,还是根据10秒内消耗的记录数提交并提前偏移量?