我们正在考虑使用MSMQ作为持续的“推送”服务器到客户端的通信方式。每个服务器最多可以有1000个客户端。
在我们的一个测试中,我们向300个离线客户端发送了一条小消息,然后发送了一条在线客户端的消息。由于MSMQ逐步处理无法传递的消息(通过MMC观察),最后一条消息延迟了超过40分钟。 我们还将MSMQ用于返回路径,在那里它表现良好。
有没有办法通过减少连接到离线主机的尝试时间来使MSMQ适应这种使用模式? 如果没有,是否有其他队列产品更适合,或者是自己开发?原始吞吐量不是优先考虑的问题,但是输出队列的数量、可预测性/最大延迟以及客户端的内存占用(可以是相当老的机器)是优先考虑的问题。
在我们的一个测试中,我们向300个离线客户端发送了一条小消息,然后发送了一条在线客户端的消息。由于MSMQ逐步处理无法传递的消息(通过MMC观察),最后一条消息延迟了超过40分钟。 我们还将MSMQ用于返回路径,在那里它表现良好。
有没有办法通过减少连接到离线主机的尝试时间来使MSMQ适应这种使用模式? 如果没有,是否有其他队列产品更适合,或者是自己开发?原始吞吐量不是优先考虑的问题,但是输出队列的数量、可预测性/最大延迟以及客户端的内存占用(可以是相当老的机器)是优先考虑的问题。