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