当队列达到特定数量的消息时,Kafka会通知吗?

时间:2014-05-26 16:09:01

标签: apache-kafka

我计划使用Kafka在队列中存储消息,并在特定队列中的消息数达到某个限制(例如1000)时获取消息。

当队列达到极限时,Kafka服务器是否可以通知消费者?

1 个答案:

答案 0 :(得分:2)

如果我理解您的问题,那么您尝试做的就是在消费者滞后达到某个值时检索消息。我不知道从Kafka群集接收通知的任何方式。但是,您应该能够定期运行ConsumerOffsetChecker来检查延迟。以下示例来自文档:

bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zkconnect localhost:2181 --group test
Group           Topic                          Pid Offset          logSize         Lag             Owner
my-group        my-topic                       0   0               0               0               test_jkreps-mn-1394154511599-60744496-0
my-group        my-topic                       1   0               0               0               test_jkreps-mn-1394154521217-1a0be913-0

http://kafka.apache.org/documentation.html#basic_ops_consumer_lag

您也可以通过JMX尝试从Kakfa获取此信息:

https://cwiki.apache.org/confluence/display/KAFKA/Operations#Operations-Monitoring