即使在所有消息都被使用和确认之后,消息计数也不为零

Message count is not zero even after all messages are consumed and acknowledged

我们已经将 ActiveMQ Artemis 2.16.0 容器化并将其部署为 KEDA 的 K8s 部署。

我们使用 STOMP 使用 stomp.py python 模块。连接上的 ACK 模式设置为 client-individualconsumerWindowSize = 0。我们会在阅读消息后立即确认。

问题是,有时,即使在实际使用和确认所有消息后,Web 控制台中的消息计数也不会变为零。当我浏览队列时,我没有看到其中的任何消息。这导致 KEDA 不必要地加速 pods。请参考我在the JIRA for this issue.

中附上的截图

我在我的应用程序代码中修复了这个问题。我的要求是一个队列侦听器应该只使用一条消息并优雅地退出。因此,在为消费消息发送ACK后不久,我断开了连接,而不是等待睡眠持续时间断开连接。

谢谢贾斯汀花时间研究这个。