apache-kafka - 如何在不消费的情况下读取来自kafka消费组的消息?

标签 apache-kafka kafka-consumer-api pykafka

我在多台机器上使用一个共同的消费者组来管理一个 kafka 队列。现在我还需要显示队列的当前内容。我如何只读取组内尚未阅读的那些消息,同时使这些消息再次被组中实际处理这些消息的其他消费者读取。任何帮助将不胜感激。

最佳答案

在 Kafka 中,从主题“读取”消息和“消费”它们的概念是同一回事。在高层次上,唯一使消费者无法使用“消费”消息的是消费者将其读取偏移量设置为超出所讨论消息的值。因此,您可以关闭消费者的自动提交功能,避免在您只想“读取”而不是“消费”的情况下提交偏移量。

获取“所有未读消息”的一个很好的代理是将最新的提交 偏移量与每个分区的高水位标记 偏移量进行比较。这提供了“滞后”的概念,指示给定消费者在其对分区的消费方面落后多远。 fetch_consumer_lag pykafka 中的 CLI 函数是如何执行此操作的一个很好的示例。

关于apache-kafka - 如何在不消费的情况下读取来自kafka消费组的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50965473/

相关文章:

apache-kafka - 提交失败异常 : Commit cannot be completed due to group rebalance

python - Pykafka - 异步发送消息和接收确认

apache-kafka - Flink kafka - Flink 作业不向不同分区发送消息

python - Kafka python消费者组 session 超时

java - Kafka ACL - LEADER_NOT_AVAILABLE

java - Flink Kafka指标: How to get them

java - 卡夫卡 : No message seen on console consumer after message sent by Java Producer

apache-kafka - Kafka Connect - 通过 JMX 的指标

python - 如何在 Pykafka simpleconsumer 中选择起始偏移量?