【问题标题】:Swapping out MSMQ for RabbitMQ in NServiceBus在 NServiceBus 中为 RabbitMQ 交换 MSMQ
【发布时间】:2011-05-20 17:01:08
【问题描述】:

Udi 提到 here 说“人们已经换掉了 NServiceBus 的 MSMQ 层并在其位置插入了 RabbitMQ”。

我希望做同样的事情,最终目标是能够在带有 AMQP 的 Mono/Linux 上运行使用 NServiceBus 构建的应用。

在深入研究之前,虽然我想从可能已经这样做过的人那里获得一些关于要避免的陷阱、红鲱鱼等的反馈。

或者,如果该方法是一项艰巨的任务,最好直接使用 RabbitMQ,但如果可能的话,我想坚持使用 NServiceBus。

【问题讨论】:

  • 我认为您应该对为什么要使用 NServiceBus 与 RabbitMQ 进行正反分析。就个人而言,我不知道为什么要在 Rabbit 上使用 NServiceBus,因为 Rabbit 是一种代理式设置,它消除了 NServiceBus 去中心化的许多好处。
  • @mrnye - 纯粹是因为我们不能依赖 MSMQ,因为这个应用程序需要在 Linux 和 Windows 环境中的 Mono 上运行。

标签: .net msmq nservicebus rabbitmq amqp


【解决方案1】:

MassTransit 将 RabbitMQ 作为支持的传输方式运行:

ServiceBusFactory.New(sbc =>
{
    sbc.UseRabbitMq();
    sbc.ReceiveFrom("rabbitmq://localhost/app1")
});

只需执行install-package masstransit.rabbitmq 并确保将您的控制台应用程序框架更改为“.Net 4.0”而不是“.Net 4.0 Client Profile”。

【讨论】:

    【解决方案2】:

    NServiceBus 4.0 将提供对 RabbitMQ 的官方支持

    【讨论】:

    • 试图在 NServiceBus 网站上查找此内容,但没有找到任何内容。你有没有可以跟踪未来功能的参考资料?
    • 问题跟踪器可能是最新列表 - github.com/NServiceBus/NServiceBus/…
    【解决方案3】:

    有一个关于谷歌代码的项目你可以看看:

    http://code.google.com/p/nservicebusrabbitmq/

    【讨论】:

      【解决方案4】:

      您可能想看看https://github.com/machine/machine.mta。 虽然项目描述谈到了 MassTransit(另一种服务总线 impl.for .net),但也有 NServiceBus 传输。

      我正在转换 NServiceBus 实现,以便它可以在 Rhino ServiceBus 中使用..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-23
        • 1970-01-01
        • 1970-01-01
        • 2010-12-09
        • 2012-05-29
        • 1970-01-01
        • 2023-04-09
        • 1970-01-01
        相关资源
        最近更新 更多