【发布时间】:2009-10-07 03:38:17
【问题描述】:
我有两个应用程序,我们称它们为 A 和 B。目前 A 使用 WCF 向 B 发送消息。A 不需要响应,B 从不向 A 发送消息。
很遗憾,正在运行的服务器 A 和 B 之间存在不稳定的网络连接。这会导致 A 时不时出现超时错误。
我想使用 WCF+MSMQ 作为两个应用程序之间的缓冲区。这样,如果 B 暂时停机或无法访问,消息不会丢失。
从架构的角度来看,我应该如何配置它?
【问题讨论】:
我有两个应用程序,我们称它们为 A 和 B。目前 A 使用 WCF 向 B 发送消息。A 不需要响应,B 从不向 A 发送消息。
很遗憾,正在运行的服务器 A 和 B 之间存在不稳定的网络连接。这会导致 A 时不时出现超时错误。
我想使用 WCF+MSMQ 作为两个应用程序之间的缓冲区。这样,如果 B 暂时停机或无法访问,消息不会丢失。
从架构的角度来看,我应该如何配置它?
【问题讨论】:
我认为您可能因包含“建筑”一词而夸大了您的问题。
如果您确实需要从更高的层面了解此问题的架构概览,包括 SLA 问题,您的 SL 将与您的 MSMQ 部署一样好,所以如果您担心 SL,只需查看 Internet 上有关 MSMQ 和 SLA 的文档。
如果您从代码的角度来看更多的实际实现,这篇文章非常棒: http://code.msdn.microsoft.com/msmqpluswcf
它涵盖了您需要了解的许多内容,包括如何设置 MSMQ 以及如何实施分块以绕过 MSMQ 的 4MB 限制(如果有必要……我希望不是这样)。
这是一篇关于使用 MSMQ 集群创建将跨机器的持久和事务队列的好文章:http://www.devx.com/enterprise/Article/39015/1954
【讨论】: