代码之家  ›  专栏  ›  技术社区  ›  BenAlabaster

有没有人有针对msmq的体系结构信息?

  •  2
  • BenAlabaster  · 技术社区  · 15 年前

    我正在尝试确定msmq是否是应用程序与当前直接通信的第三方Web服务之间通信的正确工具。我们希望把它拆开,这样如果服务中断,生活仍然可以正常进行。

    除了通常的Fluff女士之外,我找不到任何关于它是最伟大的事情和解决你所有的问题等的信息。如果我能找到一些介于市场营销Fluff和API之间的信息,比如组件的架构图以及它们如何相互集成,更重要的是我如何与他们融为一体。

    很可能我只是在错误的地方寻找信息,所以如果有人能给我指明正确的方向,我会感激的。

    3 回复  |  直到 15 年前
        1
  •  3
  •   codeConcussion    15 年前

    典型的msmq体系结构由三部分组成…

    • 消息队列-这将在您的一个服务器上。您必须安装msmq位并创建队列。
    • 客户机-您的客户机将向队列中插入消息。我假设你在使用.NET。如果是这样,您希望的大部分内容将位于System.Messaging命名空间中。
    • Windows服务-这也将在服务器上运行,可能与队列的服务器相同。它的工作是监视队列,在消息传入时处理消息,处理确保外部服务可用的消息,并可能进行一些日志记录。

    这里有一个 article 这应该更详细一点,并提供一些代码示例。

        2
  •  1
  •   olle    15 年前

    msmq是消息队列的实现,与WebSphere MQ和其他一些系统一样。在研究概念和高级体系结构时,我建议阅读消息队列以及如何在断开连接的场景中应用它们。 Patterns of Enterprise Application Architecture . 有关msmq的特定示例,请查看 Pro MSMQ: Microsoft Message Queue Programming 它不包含特殊信息的分配,但它确实会将分配的信息分组,比Internet上可用的大多数资源更好。这个 Hello World with MSMQ article 它将给您一个很好的概述,说明它需要什么,并且很容易在开发系统上执行。

        3
  •  0
  •   Chris Patterson    15 年前

    如果从应用程序调用远程Web服务,那么使用队列将应用程序处理与远程系统分离是有意义的。通过抽象通过消息传递的通信,并拥有负责与Web服务通信的网关服务,您可以将应用程序与Web服务的延迟隔离开来,并通过减少应用程序内部的请求/响应使用量,在设计中构建容错功能(因为消息传递在默认情况下是异步的我们——你事先处理好了)。

    有一些.NET框架可以使这变得更容易(如MassTransit或NserviceBus)。

    您还可以查看SOA模式(Arnon Rotem Gal Oz,Manning Press,in Meap)和企业集成模式(Hohp,Woolf),后者对于构建基于消息的系统的任何人都是必不可少的。