MSMQ 最大计数消息通知

MSMQ max count message notification

我们正在实施 以快速存储消息并在断开连接模式下处理它们。任何消息代理的典型用法。

管理要求之一是在队列消息(未处理)计数达到 1000 时向 administrator/developers 发送自动通知。

欢迎任何建议或过去的经验..

唯一(部分)内置解决方案是设置 MSMQ 队列 performance counter,它为您提供服务器上专用队列的信息。

还有许多其他解决方案,包括 SCOM management pack, and some third party solutions like evtools, or you could roll you own using System.Messaging

希望对您有所帮助。

有商业解决方案 - QueueMonitor

免责声明:我是该软件的作者。

编辑

针对此场景的一些提示:

  • 将消息的 UseDeadLetterQueue 设置为 true - 这样,如果传递消息有任何问题,至少它们不会丢失,但会移至系统的死信队列。
  • 将消息的 Recoverable 属性 设置为 true - 它确实会降低性能,但对于这种长时间 运行 的情况,某些重启或失败会丢失消息的风险太大仅存储在内存中。
  • 如果消息在一段时间后不再有效,您可以使用TimeToReachQueue自动删除它们。