这两个是如何设置的?我观察到 kafka-consumer-groups.sh 的行为是,当新消息附加到某个分区时,它首先会增加其 LOG-END-OFFSET 和 LAG 列,一段时间后,CURRENT-OFFSET 列递增,LAG 列递减,尽管实际上没有任何消费者提交偏移量,因为没有活跃的消费者。我是对的吗,这是否总是发生在没有活跃成员的消费者组中,或者是否有可能关闭第二阶段,模拟不存在的消费者的提交偏移量?这实际上是令人困惑的,您必须考虑消费者组中没有活动成员的信息,以便正确了解 CURRENT-OFFSET 和 LAG 列的实际含义(在这种情况下不多(。
好的,似乎使用者实际上确实持续连接和轮询消息并提交偏移量,但以不稳定的方式(每次断开连接(,以便 kafka-consumer-groups.sh 始终报告为组中没有活动成员。 这是一个以这种方式工作的 flink 作业。这可能吗?
如果保留策略启动并删除旧邮件,则延迟可能会减少(如果已发布的日志少于已删除的日志(,因为CURRENT-OFFSET
会将自己定位为最早的可用日志。
我会检查您的主题的保留策略是什么,因为这可能是由于已删除的邮件:滞后不关心被清除的邮件,只关心活动邮件。
这与连接和断开 kafka 集群无关,这将是缓慢和无效的方式。它与 flink kafka 消费者的实现方式有关,描述如下: Flink Kafka 连接器
承诺的偏移量只是公开使用者的 用于监视目的的进度。
它基本上所做的是,它不作为使用消费者组及其标准协调器和领导者机制的标准消费者订阅主题,但它直接分配分区,并且仅将偏移量提交到消费者组以进行监视,尽管它也有使用这些偏移量进行延续的方法,请参阅此处,但无论如何,这就是为什么这些组在 kafka 看来是没有活动成员的原因, 并且仍然得到抵消承诺。