如何解决我可以从外部访问已预取的消息数量吗?
在 MassTransit 中,我想进行 ASP .NET Core 运行状况检查,当“预取缓冲区”已满且每秒消耗量足够低时,该检查会将我的应用程序视为“运行状况下降”状态。
换句话说,如果队列上还有消息,消费者就慢了。然后,我将使用它来配置 AWS,以根据健康状况自动扩展我的消费者。
有没有办法从外部访问已预取的消息数量?或者这完全封装在 MassTransit 中?
我使用 ActiveMQ 作为底层传输。
解决方法
MassTransit 不会公开消息计数。您可以通过监控 ActiveMQ 和查看队列的待处理消息计数来找到一些东西 - 我没有任何监控 ActiveMQ 的实际经验,因为我没有在生产中使用它。
如果您在 MassTransit 中使用指标,例如,使用 Prometheus,您可以观察每个实例每个队列的活动消费者数量,并使用这些阈值来确定是否需要额外的实例来处理负载和扩展。这就是我将采用的方法,因为您还可以设置 Grafana 仪表板以实时观察系统指标。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。