带有SQL Server消息传输的NServiceBus

时间:2010-05-07 15:48:26

标签: .net sql-server nservicebus esb

有没有办法将SQL Server用作物理邮件传输,而不是使用NServiceBus内置的MSMQ邮件传输?

由于

5 个答案:

答案 0 :(得分:3)

SQL Server包含Service Broker形式的内置消息传递。这为您提供了SQL Server实例之间的高效,高速,高吞吐量,异步和可靠消息传输。考虑到SQL Server Express支持Service Broker并且我知道使用数十,数百个Express,地理分布实例的部署与中央更高版本SQL实例交换消息,因此仅针对SQL实例的事实并不像听起来那么糟糕

主要问题是缺少C#/ .Net API,不支持WCF频道,也不支持NServiceBus。有许多项目试图解决这个问题,或多或少成功。 最终,它将取决于决策的驱动因素:与NServiceBus等现有消息传递总线集成,或原始性能和可靠性,代价是依赖于sQL Server专有总线。

答案 1 :(得分:3)

很抱歉回答这么老的话题,但是有一个.Net消息总线项目使用SQL服务器作为消息传输:NGinn.MessageBus(在http://code.google.com/p/nginn-messagebus/)。这是我专门为已经在使用SQL Server的应用程序创建的宠物开源项目。该项目已经足够成熟,可用于生产。更多信息可以在项目网站上找到。

答案 2 :(得分:3)

在NServiceBus 3.0中,与2.6相比,我们更容易插入自己的传输机制。在2.6中,您将实现巨大的ITransport接口。在3.0中,您只需要实现ISendMessages和IReceiveMessages

https://github.com/NServiceBus/NServiceBus/blob/master/src/unicast/NServiceBus.Unicast.Queuing/ISendMessages.cs

https://github.com/NServiceBus/NServiceBus/blob/master/src/unicast/NServiceBus.Unicast.Queuing/IReceiveMessages.cs

答案 3 :(得分:3)

在NServiceBus 4.0上,您现在可以使用Sql Server as a transport机制,这样您就不必实现ITransport等。

答案 4 :(得分:2)

您可能希望了解如何实现自定义ITransport来实现此目的。

相关问题