我需要实施运行状况检查,并且其中一部分,我必须确定生产者是否能够发布消息,消费者是否能够向消费者消息,为此,我必须检查与集群的连接是否正常工作,这可以使用“ connection_count”度量标准进行了检查,但这并不能提供真实的画面,尤其是对于将绑定到该消费者所在分区的某些代理的消费者而言。
与生产者的处境更加棘手,因为生产者可能会将消息发布到任何保存有生产者要发布的主题分区的代理。
简而言之,我如何在生产者/消费者sude上找到相关经纪人的健康状况。
答案 0 :(得分:0)
最终,我将问题分为几部分。
您可以联系经纪人吗? AdminClient.describeCluster
为此工作
您能否描述正在使用的主题? AdminClient.describeTopic
可以做到
这些主题的ISR列表是否高于min.in.sync.replicas
?从(2)推算数据
在生产者端,您可以在缓冲区大小附近公开JMX数据...如果缓冲区没有定期刷新,则说明它不健康。
对于消费者而言,查看发生重新平衡的条件(例如两次轮询之间的处理时间较长),然后可以快速确定对他们而言“不健康”的含义。
我在之间写过的一些概念
我想Spring与之类似