2012-04-26 71 views
0

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

方案:使用事务MSMQ 使用WCF服务,以读取来自队列的消息

群集环境中(即3台计算机在1簇) 。

在这种情况下,当一个消息传递到队列并传递给WCF进行处理时会发生什么?它会一次处理所有3台计算机的1条消息吗?还是只有一台电脑?

我想确保如果一个节点发生故障,另一个节点进入并继续运行,但同时要确保消息没有被多次处理(即3台计算机在那里并且已经处理了3次)

想法?

回答

1

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

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

+0

谢谢。我将如何做多点传送? msmq不会被聚集,这意味着incomng消息将被放置在那里,并且节点会获得它? – 2012-04-27 11:01:15

+0

我不知道如何群集MSMQ。我通过让消息发送者逐一发送到队列列表来实现多播。 – 2012-04-27 11:05:56

+0

啊。不幸的是,这也许是我无法做或控制不了的事情。 – 2012-04-27 13:47:57