我现在有一个解决scheme在单个服务器上运行,使用事务专用队列(msmq / wcf)。 Windows服务使用和处理队列中的消息,并且Web应用程序层将消息推送到队列。
我们正在转向ip负载平衡configuration(循环法,两台服务器,单个虚拟地址),并且不需要维护每个节点之间的消息顺序。 所以,简单地复制堆栈(web应用程序,服务,队列)将在正常情况下罚款。 但是我更喜欢一个虚拟的队列集合,这样如果有任何节点停止运行,那么没有任何消息会丢失或延迟一段时间。
我对MSMQ并不陌生,但是之前没有将其configuration为多个服务器。 任何build议,不涉及重新configuration服务器? 我需要坚持负载平衡configuration。
您不能非常容易地加载平衡事务队列。 您需要确保MSMQ主机收到包含发件人IP地址的邮件,而不是负载平衡器(如果您使用的是)。 如果您使用DNS进行负载均衡,那么可能不是问题,尽pipeMSMQ非常粘性,不利于负载平衡。
石油和水 – MSMQ交易消息和负载均衡:
http://blogs.msdn.com/b/johnbreakwell/archive/2008/11/18/oil-and-water-msmq-transactional-messages-and-load-balancing.aspx