msmq应该在发送和接收服务器上存储匹配

时间:2018-01-05 17:29:41

标签: storage msmq remote-server transactional

我正在尝试在事务中向MSMQ发送大量消息。有一个存储问题,我们在接收机器上增加了msmq存储,在发送机器上存储原样(默认为1GB)。我们仍然收到问题,并想确认存储是否应该匹配发送和接收机器。 如果您遇到类似的问题,请告诉我,什么应该是理想的解决方案。

1 个答案:

答案 0 :(得分:0)

对于事务性消息,消息存在如下:

  1. 邮件在发件人的传出队列中可见
  2. 在接收方的目标队列中可见的消息;发送方的传出队列中的消息不可见,待处理的ACK消息
  3. 在接收方的目的地队列中可见的消息
  4. 因此,您希望有时间消息占用两台计算机上的空间。但这不应该持续很长时间,因此您不需要匹配发送方和接收方的存储大小。 应该为“最坏情况”场景设置存储容量。假设网络中断。在您宣布紧急情况之前,您希望在发件人的传出队列中放置的未发送和未确认但已发送邮件的最大数量是多少。 同样,假设接收器上的应用程序已崩溃,目标队列中的未处理消息量是否构成紧急情况?

    存储限制用于保护您的服务器。

    1. 他们阻止硬盘填满(重要)
    2. 它们可以防止内核内存耗尽(非常重要 - 请参阅#4 https://blogs.msdn.microsoft.com/johnbreakwell/2006/09/18/insufficient-resources-run-away-run-away/
    3. 因此,存储限制应足够高,以适应最坏情况,但应足够低以避免耗尽内核内存。