我们正在研究 MSMQ 以实现持久的“推送”服务器到客户端的通信。每台服务器最多可以有 1000 个客户端。
在我们的一个测试中,我们向 300 个离线客户端发送了一条小消息,然后向一个在线客户端发送了一条消息。最后一条消息延迟了 40 多分钟,因为 MSMQ 正在处理无法传递的消息(通过 MMC 观察到)。我们还使用 MSMQ 作为它运行良好的返回路径。
有没有办法通过减少尝试连接到脱机主机的时间来使 MSMQ 适应这种使用模式?如果没有,是否还有其他更适合的排队产品,或者它是你自己的时间?原始吞吐量不是优先级,但传出队列的数量和可预测性/最大延迟是优先级,客户端(可能是相当旧的机器)上的内存占用也是如此。