我正在尝试确定MSMQ是否是我们的应用程序与我们当前正在直接通信的第三方Web服务之间进行通信的正确工具。我们希望解除这一点,如果服务中断,生活仍然可以正常进行。
我找不到常见的MS绒毛之外的任何关于它是最好的东西并解决你所有的问题等等。如果我能找到一些介于营销绒毛和API之间的信息,那将非常有用 - 就像组件的体系结构图以及它们如何相互集成,更重要的是我如何与它们集成。
可能我只是在错误的地方寻找信息,所以如果有人能指出我正确的方向,我会很感激。
答案 0 :(得分:3)
典型的MSMQ架构将由3部分组成......
这是一个article,应该更详细一些,并为您提供一些代码示例。
答案 1 :(得分:1)
MSMQ是一个消息队列的实现,就像websphere mq和一堆其他系统一样。在研究概念和高级架构时,我建议阅读消息队列以及如何在断开连接的场景中应用它们。我强烈推荐Patterns of Enterprise Application Architecture。有关msmq的具体示例,请查看Pro MSMQ: Microsoft Message Queue Programming它不包含所有特殊信息,但它会将其分组,以便比互联网上可用的大多数资源更好。这个Hello World with MSMQ article将为您提供一个很好的概述,它可以很容易地在开发系统上执行。
答案 2 :(得分:0)
如果从应用程序调用远程Web服务,则使用队列将应用程序处理与远程系统分离是有意义的。通过通过消息传递抽象通信并具有负责与Web服务通信的网关服务,您可以将应用程序与Web服务的延迟隔离开来,并通过减少应用程序内的请求/响应使用来将容错能力纳入设计中(因为默认情况下消息是异步的 - 你预先处理它。)
.NET的框架可以使这更容易(例如MassTransit或NServiceBus)。
您还可以查看SOA模式(由Arnon Rotem-Gal-Oz,Manning Press,在MEAP中)和企业集成模式(Hohpe,Woolf),后者是构建基于消息的任何人的基本读物。系统