Sql server SQL Service Broker作为.net的通用企业消息总线

Sql server SQL Service Broker作为.net的通用企业消息总线,sql-server,esb,service-broker,Sql Server,Esb,Service Broker,我需要一个企业服务总线/消息队列解决方案来实现发布者/订阅者功能。我知道有很多。。。MSMQ、MS系列、RabbitMQ、NServiceBus等 我的一个要求是,在共享主机解决方案中,我能保证的唯一依赖项是SQL 2005和更高版本。。。这将直接引导我到SQL Service Broker 如果听起来像是我试图将ESB功能硬塞进SSB中。。。我想我是 我的问题是:有没有人知道一个.NETAPI或框架位于SQLServiceBroker之上,并且已经提供了很多管道 如果我使用纯ADO.net,我

我需要一个企业服务总线/消息队列解决方案来实现发布者/订阅者功能。我知道有很多。。。MSMQ、MS系列、RabbitMQ、NServiceBus等

我的一个要求是,在共享主机解决方案中,我能保证的唯一依赖项是SQL 2005和更高版本。。。这将直接引导我到SQL Service Broker

如果听起来像是我试图将ESB功能硬塞进SSB中。。。我想我是

我的问题是:有没有人知道一个.NETAPI或框架位于SQLServiceBroker之上,并且已经提供了很多管道

如果我使用纯ADO.net,我可以通过调用存储过程将项目添加到队列中,但是:

  • 根据对话的性质,我会在每条信息中进行一次对话吗
  • 如果是,我是否会丢失连续的消息处理
  • 如何接收消息(我知道t-SQL中的接收语法),是否在消息循环中重复调用存储过程以尝试 从队列中获取消息
  • 还是我会永远等待?保持连接打开并永远执行存储过程
  • SQL Service Broker不支持独白对话,但我听说它们可以实现

  • 正是这些问题让我希望有一个.net解决方案已经管理了所有这一切。

    有人试图打包一个,但是,好吧,这是一个废弃软件

    但是支持ServiceBroker作为传输工具,请参阅,还有一些github项目,如。虽然不完全是主流,但确实存在一些支持和社区努力

    作为一个ESB,我认为由于缺乏真正的酒吧和广播,您会遇到问题。SQL Server 2012能够向多个目标发送消息,请参见如何,但您仍然需要从头开始实现发布子基础结构(发布主题、订阅者等)。MySpace做到了这一点,这是一项重大努力,请参阅。我的观察涉及到SSB的低级别直接使用,我从未使用过NServiceBus,因此我无法判断它在SSB上抽象/公开单播/广播/多播/发布订阅的效果如何


    至于您的具体问题,我建议您阅读和阅读。

    因为我发布了这个问题,具有讽刺意味的是,我发现您的文章是“”。因为无论如何我都不会使用ServiceBroker的激活功能,所以我想我将能够拼凑出一个基于表队列的解决方案(出于您在“为什么不使用内置队列?”中提到的所有原因)。谢谢但排队不是公共汽车。如果您不需要传输和远程消息传递,那么问题就简单多了。只要您知道您将永远不会扩展到托管队列表的一个实例,就可以了。托管队列表的一个SQL实例?我不能对多个SQL实例使用复制吗?