执行Kafka消费者健康检查的最佳方式

wn9m85ua  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(1003)

假设我有一个应用程序,它使用kafka集群的日志。我希望应用程序定期检查集群的可用性,并在此基础上执行某些操作。我想到了一些方法,但不确定哪种方法更好,或者哪种方法最好:
创建messageproducer和messageconsumer。生产者将heartbeattopic发布到集群中,消费者将查找它。我认为这个问题是,当应用程序只涉及消费时,healthcheck同时具有生产和消费部分。
创建一个具有新groupid的messageconsumer,该groupid连续地为新消息创建池。通过这种方式,监视/健康检查与应用程序应该做的事情是一样的,我认为这是好的。
创建一个messageconsumer,它执行与实际使用消息不同的操作。有点像listtopics(https://stackoverflow.com/a/47477448/2094963) .
以下哪种方法更可取?为什么?

jvlzgdj9

jvlzgdj91#

在这里走一条稍微不同的路线,您可以通过使用apachecurator库来轮询zookeeper(znode path-/brokers/ids)以获取此信息。
这里有一个想法,我尝试和工作-我用馆长的领导门闩食谱为类似的要求。
您可以创建一个leaderlatch示例并调用getleader()方法。如果每次调用都有一个leader,那么可以安全地假设集群已启动并正在运行,否则就会出现问题。
我希望这有帮助。
编辑:添加存储引线信息的zookeeper节点路径。

相关问题