试图理解消费者补偿和消费者群体补偿之间的关系。
下面的堆栈溢出链接提供了对消费群体补偿管理的极好理解<什么决定Kafka消费补偿?现在问题来了,
情节:
我们在一个消费者组组1中有消费者(c1)。
示例
消费者级别偏移值-5消费者组级别偏移值-8系统何时从8重新启动?
反向:
消费者级别偏移值-8消费者组级别偏移值-5系统何时从5重新启动?
如果使用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秒内消耗的记录数提交并提前偏移量?