如何将NServiceBus与数据库而不是MSMQ一起使用

如何将NServiceBus与数据库而不是MSMQ一起使用,nservicebus,Nservicebus,是否可以将NServiceBus与数据库一起用作队列存储而不是MSMQ?如果是这样,我该如何开始,以及使用数据库而不是MSMQ的优缺点是什么?如果您想使用MSMQ以外的东西,您必须插入自己的ITransport。我想看看GitHub上的NSB Contrib项目,其中有一个针对SQL Server代理(消息传递)的ITransport的实现 我看到的使用数据库的缺点包括成本和维护开销。MSMQ免费提供操作系统,大多数管理员都有维护它的技能。一旦你进入数据库,你必须为它付费,并找人维护它。一开始还

是否可以将NServiceBus与数据库一起用作队列存储而不是MSMQ?如果是这样,我该如何开始,以及使用数据库而不是MSMQ的优缺点是什么?

如果您想使用MSMQ以外的东西,您必须插入自己的ITransport。我想看看GitHub上的NSB Contrib项目,其中有一个针对SQL Server代理(消息传递)的ITransport的实现


我看到的使用数据库的缺点包括成本和维护开销。MSMQ免费提供操作系统,大多数管理员都有维护它的技能。一旦你进入数据库,你必须为它付费,并找人维护它。一开始还可以,但一旦进入多个环境和集群之类的环境,许可就会失控

亚当-谢谢你的回复。如果我没有看错您的答案,那么使用DB作为队列存储不是一种标准方法吗?在这种情况下,我要去看MSMQ向导…:)是的,标准方法是使用队列技术。您不限于MSMQ,但这是默认方法。nservicebus中生产配置文件的默认方法是使用sql server存储。测试和(或记不清)开发配置文件的默认设置是使用msmq存储。这里有一些混淆。我不确定这个问题的初衷是什么,但有两件事正在发生。我相信Adam正在谈论使用SQL数据库来存储消息,以替代MSMQ。这远远不够理想,因为它甚至不是一个排队系统,因此ITransport的实现必须不断地将数据库排队以获取新消息。hacktick讨论的是订阅存储(存储订阅消息类型的队列列表),它在生产配置文件中默认为NHibernate+DB。我的初衷是询问如何将消息存储在SQL数据库中,Adam回答了这个问题。