Udi在这里提到“人们已经换掉了 NServiceBus 的 MSMQ 层并在其位置插入了 RabbitMQ”。
我希望做同样的事情,最终目标是能够在带有 AMQP 的 Mono/Linux 上运行使用 NServiceBus 构建的应用程序。
在深入研究之前,我想从可能已经这样做的人那里得到一些关于要避免的陷阱、红鲱鱼等的反馈。
或者,如果该方法是一项艰巨的任务,最好直接使用 RabbitMQ,但如果可能的话,我想坚持使用 NServiceBus。
MassTransit 将 RabbitMQ 作为支持的传输方式运行:
ServiceBusFactory.New(sbc =>
{
sbc.UseRabbitMq();
sbc.ReceiveFrom("rabbitmq://localhost/app1")
});
只需install-package masstransit.rabbitmq
确保将您的控制台应用程序框架更改为“.Net 4.0”而不是“.Net 4.0 Client Profile”。
有一个关于 Google Code 的项目,你可以看看:
NServiceBus 4.0 将提供对 RabbitMQ 的官方支持
您可能想看看https://github.com/machine/machine.mta。虽然项目描述谈到了 MassTransit(另一种服务总线 impl. for .net),但也有 NServiceBus 传输。
我正在转换 NServiceBus 实现,以便它可以在 Rhino ServiceBus 中使用。