【发布时间】:2015-10-13 19:39:52
【问题描述】:
有一个应用程序(不是我的)从 Kafka 读取消息,对它们进行一些处理,并将记录存储在数据库中。我已经用 Java 编写了一个程序,它以给定的速率将消息写入队列。现在,它通过在测试运行结束时查询数据库来进行简单的性能测量,以确保记录输入 = 记录输出。但是,我想将其扩展为定期检查队列,以查看有多少消息未处理而应用程序尚未处理,以查看它是否正在备份。
我认为我可以在 Zookeeper 中检查应用程序组 ID 的偏移量。我查看了Kafka documentation,但它只提供了基本的消费者示例,而且 API 文档充其量也很少,所以我不确定如何查找这些信息。
我需要调用哪些 API 才能了解应用程序当前在队列中的哪个位置,以及该位置后面的队列中有多少消息?
我使用 Kafka 2.10-0.8.2.1 和一个 Zookeeper 实例和三个 Kafka 实例,负载测试器使用 0.8.2.1 Java API。有问题的主题有三个分区(每个 Kafka 服务器上一个),但是出于测试目的,只有一个消费者。
【问题讨论】:
标签: java apache-zookeeper apache-kafka