【问题标题】:Implementing subscriber / publisher system with MSMQ with dynamic endpoints使用带有动态端点的 MSMQ 实现订阅者/发布者系统
【发布时间】:2009-04-21 02:12:53
【问题描述】:

我正在尝试创建一个反馈系统,所有消息都会发布到该系统,然后再发布回正确的子系统。我们正在大量使用队列,我想让订阅者代码尽可能干净。我想根据我进入反馈系统并发布给其特定订阅者的消息 ID 来关闭。我不想为每个订阅者提供服务来监听消息.. 我想我可以为每个订阅者设置一个队列并触发调用 com+ 组件.. 但我正在寻找一种更现代的方式。 .

我正在研究 NServiceBus,但似乎我需要为每个侦听系统创建一个服务/可执行文件/webservice(创建 C# dll 和调用方法的工作量要少一些),我不确定是否NServiceBus 可以根据预加载的配置(从 db 加载)处理动态端点。 WCF 也是一种选择.. 它肯定可以处理动态端点..

您认为对于新系统订阅的代码租赁量/可扩展性的最佳解决方案是什么?

谢谢

【问题讨论】:

    标签: c# wcf triggers msmq nservicebus


    【解决方案1】:

    如果您对在线解决方案感到满意,您可以查看最新的 .NET Services SDK for Windows Azure,它具有队列服务总线 http://www.microsoft.com/azure/netservices.mspx 它依赖于 WCF 消息并支持路由等。这里有一些关于此的博客文章http://vasters.com/clemensv/default.aspx

    您可以尝试的另一个框架是 MassTransit http://code.google.com/p/masstransit/

    【讨论】:

      【解决方案2】:

      您似乎在寻找服务主机,而不是消息代理。如果是这样,Microsoft 推荐的方法是在 IIS 中托管您的 WCF 服务。他们仍然可以使用 MSMQ 作为传输,但服务本身将由 IIS 管理。 IIS 从早期作为 HTTP 服务器开始有了显着的发展,现在它更接近于应用程序服务器,可以选择传输(TCP、MSMQ、HTTP)、池、激活、生命周期策略等。

      虽然我发现 WCF+MSMQ+IIS 有点过于复杂,但这是您在 Microsoft 领域所付出的代价。

      对于漂亮而简单的消息代理,您可以使用 Active MQ 而不是 MSMQ,它将为您提供消息代理以及发布/订阅。在 .NET 中使用它非常容易,请查看此链接:http://activemq.apache.org/nms/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多