MSMQ 仅从某些客户端接收消息

MSMQ 仅从某些客户端接收消息

我在 Windows Server 2008(数据中心版)上有一个非事务性消息队列,有 31 个客户端。连接的服务器不在同一工作组或域内(不知道这是否起作用)。

问题是,队列只接收来自部分客户端(实际上是 9 个)的消息,而其他客户端的消息丢失。

我在 Windows 事件日志中找不到任何错误消息。客户端上的 MSMQ 状态显示“已连接”,死信队列为空...如果我停止服务器上的 MSMQ 服务,消息就会在客户端计算机上正确排队。

我还应该寻找哪些其他可能导致消息丢失的原因?此行为可能是由中间的任何组件引起的吗?

设想

每台服务器(MSMQ 客户端 - 共有 31 台)每分钟都会向 MSMQ 服务器发送一条消息(消息大小约为 40k 字节)。如果我启用日志功能,则 MSMQ 服务器上只能看到来自 9 台(而不是 31 台)服务器的消息,其他消息会丢失。收到的消息始终来自相同的服务器。

答案1

许可证不会导致消息丢失。如果许可证是一个阻碍因素,则没有 CAL 的客户端将无法连接,并且消息仍保留在其传出队列中。消息消失,要么是因为它们已被阅读,要么是它们的 TTRQ/TTBR 计时器已过期。Windows 事件日志中不会有任何事件。您需要使用日志来跟踪消息发生了什么。

相关内容