【发布时间】:2012-11-04 09:18:07
【问题描述】:
我们在使用 NServiceBus 的负载平衡、高容量环境中遇到 MSMQ 问题。
我们的环境如下所示: 1 F5 通过轮询将 Web 流量分配到 6 个应用服务器。这 6 台服务器中的每台都使用驻留在集群上的远程计算机上的 Bus.Send to 1 队列。
正常使用期间的事件吞吐量约为每台服务器每秒 5-10 个。所以整个环境中每秒有 30-60 个事件,具体取决于负载。
我们看到的问题是 1 个应用程序框能够将消息发送到集群队列,但其他 5 个不能。查看发生故障的 5 个盒子,集群的传出队列处于非活动状态。
事务死信队列中也有大量事件。当我们清除该队列时,传出队列连接到集群,但是,消息在传出队列中增长为未确认。这会继续增长,直到它们再次进入事务死信队列,并且传出队列将状态更改为非活动状态。
有趣的是,当我们执行此清除操作时,另一个盒子将成为“好盒子”。所以我们很确定问题不是一个坏盒子,而是一次只有一个盒子可以可靠地保持与集群队列的连接。
以前有人遇到过这种情况吗?
【问题讨论】:
-
您运行的是什么版本的 MSMQ?您是否也尝试过相同的设置但没有事务排队?
-
msmq 5.0 windows 2008 r2。 nsb 未配置为事务性的。
标签: msmq nservicebus