使用 SQL Server 数据库传输的 MassTransit

Ste*_*ven 5 c# masstransit

对于我的客户,我们正在调查 MassTransit 的使用情况。MassTransit 似乎专注于 RabbitMQ 作为消息传输。由于客户端的“内部结构限制”,我们坚持使用 SQL Server 数据库作为任何持久性。

MassTransport 如何与 SQL Server 一起用作消息传输机制?

Tra*_*vis 3

SQL Server 不是传输工具,它仅存储消息。如果没有经纪人,大众交通就无法运作。对于较旧的 MassTransit (2.x),您可以使用订阅服务来替换代理,但它需要一些额外的基础设施。

使用 Azure/Windows 服务总线将是一个更好的解决方案,因为它是一个真正的代理。您不必使用 RabbitMQ。

  • SQL Server 上有一个用于 NServiceBus 的传输。它使用表作为“队列”并不断轮询来获取“消息”。我想问题是关于这个的。本质上我完全同意你的观点,但是 SQL Server 的东西受到了 NServiceBus 的很大关注。 (4认同)
  • 旧的咆哮,但又来了:http://mikehadlow.blogspot.com/2012/04/database-as-queue-anti-pattern.html (3认同)
  • @ChrisPatterson NServiceBus 没有按照您链接到的帖子中描述的方式使用 SQL 服务器。在岗位上,工人了解记录。在 NSB 中,该表仅用作 **序列化** 消息的存储。一旦消息被处理,它就会从表中删除。 (3认同)