我正在研究WCF/MSMQ.
有谁知道如何使用MSMQ处理减少量?我的理解是队列位于服务器上,但是如果服务器出现故障并且无法恢复,那么如何防止消息丢失呢?
关于这个主题的任何好文章?
有在企业使用MSMQ一个很好的文章在这里.
提示8是您应该阅读的.
"如果其中一个队列服务器计算机停止正常运行,则使用Microsoft的Windows群集工具,队列将从一台计算机故障转移到另一台计算机.故障转移过程将队列及其内容从故障计算机移动到备份计算机.Microsoft的群集可以正常工作,但是根据我的经验,很难正确配置并且经常出现故障.此外,要运行Microsoft的Cluster Server,您还必须运行Windows Server Enterprise Edition - 一个昂贵的操作系统来进行许可.这些问题一起需要搜索替换.
使用Microsoft Cluster Server的另一种方法是使用第三方IP负载平衡解决方案,其中有几种是商用的.这些设备像标准网络交换机一样连接到您的网络,一旦配置,就可以在配置的设备之间平衡IP会话.要对MSMQ进行负载平衡,您只需在负载平衡设备上设置虚拟IP地址,并将其配置为负载平衡端口1801.要连接到MSMQ队列,发送应用程序指定负载平衡托管的虚拟IP地址然后,设备会在托管接收应用程序的已配置计算机上有效地分配负载.
要使用硬件负载平衡器,您需要在配置为在负载平衡中使用的每个服务器上创建相同的队列,让负载均衡器将发送应用程序连接到组中的任何一台计算机.要添加额外的健壮性层,您还可以配置所有接收应用程序以监视组中所有其他计算机的队列,这有助于防止一台或多台计算机不可用时出现问题.在远程计算机上进行此类队列监视的成本很高(从本地队列读取消息几乎总是更有效),但额外的可用性水平可能是值得的."