集群式MSMQ和WCF

集群式MSMQ和WCF,wcf,msmq,cluster-computing,Wcf,Msmq,Cluster Computing,不确定这属于哪个区域,但认为所有3个标签都是合适的 情景: 群集环境(即1个群集中的3台计算机) 使用事务性MSMQ 使用WCF服务从队列中读取消息 在本例中,当消息到达队列并将其传递给WCF进行处理时会发生什么?它会同时在所有3台计算机上处理这1条消息吗?还是只有一台电脑 我希望确保,如果一个节点发生故障,另一个节点将启动并继续,但同时希望确保消息不会被多次处理(即,那里有3台计算机,其已被处理3次) 想法?如果消息到达一个包含三个客户端的队列,则只有一个客户端将使用该消息 为了提供所需的冗余

不确定这属于哪个区域,但认为所有3个标签都是合适的

情景:

群集环境(即1个群集中的3台计算机) 使用事务性MSMQ 使用WCF服务从队列中读取消息

在本例中,当消息到达队列并将其传递给WCF进行处理时会发生什么?它会同时在所有3台计算机上处理这1条消息吗?还是只有一台电脑

我希望确保,如果一个节点发生故障,另一个节点将启动并继续,但同时希望确保消息不会被多次处理(即,那里有3台计算机,其已被处理3次)


想法?

如果消息到达一个包含三个客户端的队列,则只有一个客户端将使用该消息


为了提供所需的冗余,有必要多播消息。这意味着每个客户机都有自己的输入队列,您向所有队列发送完全相同的消息

谢谢。我将如何进行多播?msmq不会被集群化吗,这意味着输入的MSG将被放置在那里,节点将获得它?我不知道如何集群msmq。我已经通过让消息发送者一个接一个地发送到队列列表来实现多播。不幸的是,这可能是我不能做或无法控制的事情。我现在几乎完成了环境的设置,并导致我进一步的问题,或者可能是我睡眠不足(极度)。我有两个节点。我有MSMQ群集。当消息传入时,它将指向MSMQ集群。但是对于读取队列的WCF应用程序(自托管控制台应用程序),该应用程序位于何处?两个节点?域中的独立计算机?如果运行此WCF应用程序的计算机出现故障怎么办?我希望另一台计算机接管并继续处理,就像群集MSMQ一样。所以我想我需要对WCF应用程序进行集群?怎么做?回答了我自己的问题。在群集节点(例如Windows service app)上安装WCF service app,并为其创建群集应用程序或通用服务。我现在遇到的问题是,当它尝试使用。\private$\queueName检查队列是否存在时,当它作为群集服务运行时,它抛出一个错误,表示消息队列服务不可用,但它显然是可用的。甚至试过了