为什么将RavenDB与NServiceBus一起使用

Jac*_*ham 1 nservicebus ravendb

我在Pluralsight上观看了NServiceBus简介,演示者使用MSMQ和RavenDB来存储消息.为什么是这样?将消息存储在数据库中有什么好处,而不仅仅是MSMQ?搜索我发现了很多关于如何将RavenDB与NServiceBus一起使用的结果,但不是为什么你应该这样做.

Ale*_*rev 7

NServiceBus本身使用RavenDb进行持久化,而不是传输.所以,我不明白为什么你说RavenDb用于"保存消息".您可能已经看到使用RavenDb存储消息的ServicePulse,更多关于此信息.

NServiceBus的不同部分需要三种基本类型的持久性:

  • 佐贺数据
  • 超时
  • 订阅

还有两个额外的用法,不经常使用:

  • 发件箱
  • 网关重复数据删除

所有这些都在文档中描述

您可以将任何支持的持久性引擎(包括RavenDb)用于这些目的.由于它是文档数据库,因此比使用关系数据库的NHibernate持久性更容易用于这些目的.

我不确定视频的确切内容,但它也可能是ServicePulse,它是特定平台的一部分,但不是NServiceBus组件本身.ServicePulse使用RavenDb进行自己的数据存储(包括消息).

RavenDb不用作NServiceBus传输,至少不是特定本身.