我的问题是我无法访问F5负载均衡器后面的Windows Server 2012上托管的MSMQ。我在主动/被动状态下使用负载均衡器以确保可用性。
我可以在连接字符串中直接使用服务器名称时访问MSMQ,但是当我使用F5 VIP时我无法访问。
以下作品:
FormatName:DIRECT=OS:<servername>\Private$\myQueueName
然而,这不是:
FormatName:DIRECT=OS:<F5 VIP>\Private$\myQueueName
我还尝试使用TCP读取消息队列无效:
FormatName:DIRECT=TCP:<servername>\Private$\myQueueName
答案 0 :(得分:1)
没有MSMQ感知负载均衡器。 F5也无法实现直接排队到服务器。由于MSMQ使用多个端口进行来回通信。
您可以尝试MSMQ的http选项。这可以是网络负载平衡并与单个端口通信。
NserviceBus有Nservicebus.Gateway,它简化了这个解决方案。您还可以使用Nservicebus中的Distributor来为工作人员进行负载均衡。 Nservicebus不建议将其用于负载平衡,建议仅在wan网络中使用。
希望它有所帮助。