无法描述Kafka流消费群

问题描述 投票:0回答:1

我想实现的是确保我的Kafka流消费者不会有滞后。

我有一个简单的Kafka流应用,它将一个主题以GlobalKTable的形式具体化为存储。

当我尝试通过命令来描述Kafka上的消费者时,我看不到任何结果。

kafka-consumer-groups --bootstrap-server localhost:9092 --describe --group my-application-id

我看不到任何结果 而且也没有错误。当我通过以下方式列出所有消费者时,我的应用消费者被正确列出。

kafka-consumer-groups --bootstrap-server localhost:9092 --describe --all-groups

我的应用消费者被正确列出

有什么办法可以找到更多的信息,让我无法描述消费者? (任何其他Kafka流的消费者写到主题都可以正确描述)。

apache-kafka kafka-consumer-api apache-kafka-streams
1个回答
2
投票

如果你的应用程序没有 只是 具体化 GlobalKTable 没有形成消费群体。对内,"全球消费者 "不使用 subscribe() 不过 assign() 而没有消费者 group.id 配置(你可以从日志中验证),并且没有提交偏移。

原因是,所有的应用实例都需要消耗所有的主题分区(即广播模式)。然而,一个消费组的设计是,不同的实例读取同一主题的不同分区。而且,每个消费组,每个分区只能提交一个偏移量--但是,如果多个实例读取同一个分区,并且将使用相同的偏移量提交。group.id 的提交会互相覆盖。

因此,在 "广播 "数据的同时使用消费者组是行不通的。

但是,所有的消费者都应该暴露一个 "滞后 "指标 records-lag-maxrecords-lag (比照 https:/kafka.apache.orgdocumentation#consumer_fetch_monitoring。). 因此,您应该能够通过JMX挂接来监控滞后。Kafka Streams包括客户端的指标,通过 KafkaStreams#metrics()也是

© www.soinside.com 2019 - 2024. All rights reserved.