我有一个集群 MSMQ
我还有一个读取这些消息的 WCF 服务应用程序(在控制台中自行托管)。
但是,该应用程序似乎根本没有读取放置在队列中的任何消息,但是如果您在集群环境中运行相同的应用程序,它读取队列没有问题。
有任何想法吗?
我的想法是:
ClusteredMSMQ (for failover reasons to ensure high availability)
Server 1 -> WCF service app
Server 2 -> WCF service app
Server 3 -> WCF service app
WCF 服务应用程序的 3xservers 的原因是如果一个崩溃,另一个仍然可以继续接管读取队列中的消息。它是事务性 MSMQ 并且服务绑定(bind)指向集群 MSMQ 并且设置了 ExactlyOnce=true。
此外,如果服务应用程序有更新,那么我们需要将其删除并执行更新 - 同时其他服务应用程序可以接管。说得通?
任何想法发生了什么或我误解了什么?
最佳答案
解决方案是在集群中的所有服务器上也应该使用相同的设置配置 DTC。应用此之后,然后将 DTC 创建为集群应用程序/服务。
最后,应用程序能够读取消息
关于WCF 不从群集 MSMQ 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10385372/