为什么要将RavenDB与NServiceBus结合使用

为什么要将RavenDB与NServiceBus结合使用,ravendb,nservicebus,Ravendb,Nservicebus,我在Pluralsight上观看了NServiceBus的介绍,演示者同时使用MSMQ和RavenDB来存储消息。为什么会这样?在数据库中存储消息(而不仅仅是MSMQ)有什么好处?通过搜索,我找到了许多关于如何将RavenDB与NServiceBus结合使用的结果,但没有找到为什么要这样做。NServiceBus本身使用RavenDB进行持久化,而不是作为传输。所以,我不明白你为什么说RavenDb是用来“保存消息”的。可能您已经看到ServicePulse使用RavenDb存储消息,下面将介绍

我在Pluralsight上观看了NServiceBus的介绍,演示者同时使用MSMQ和RavenDB来存储消息。为什么会这样?在数据库中存储消息(而不仅仅是MSMQ)有什么好处?通过搜索,我找到了许多关于如何将RavenDB与NServiceBus结合使用的结果,但没有找到为什么要这样做。

NServiceBus本身使用RavenDB进行持久化,而不是作为传输。所以,我不明白你为什么说RavenDb是用来“保存消息”的。可能您已经看到ServicePulse使用RavenDb存储消息,下面将介绍更多信息

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

  • 传奇数据
  • 超时
  • 订阅
另外还有两种用法没有经常使用:

  • 发件箱
  • 网关重复数据消除
所有这些都进行了描述

出于这些目的,您可以使用任何受支持的持久性引擎,包括RavenDb。因为它是文档数据库,所以用于这些目的比使用关系数据库的NHibernate持久性要容易得多

我不确定视频到底显示了什么,但也可能是ServicePulse,它是特定平台的一部分,而不是NServiceBus组件本身。ServicePulse使用RavenDb存储自己的数据(包括消息)


RavenDb不作为NServiceBus传输使用,至少它本身不这样做。

NServiceBus本身使用RavenDb进行持久化,而不是作为传输使用。所以,我不明白你为什么说RavenDb是用来“保存消息”的。可能您已经看到ServicePulse使用RavenDb存储消息,下面将介绍更多信息

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

  • 传奇数据
  • 超时
  • 订阅
另外还有两种用法没有经常使用:

  • 发件箱
  • 网关重复数据消除
所有这些都进行了描述

出于这些目的,您可以使用任何受支持的持久性引擎,包括RavenDb。因为它是文档数据库,所以用于这些目的比使用关系数据库的NHibernate持久性要容易得多

我不确定视频到底显示了什么,但也可能是ServicePulse,它是特定平台的一部分,而不是NServiceBus组件本身。ServicePulse使用RavenDb存储自己的数据(包括消息)


RavenDb没有被用作N服务总线传输,至少它本身不是这样。

+1这是正确的答案,但我可以更明确地说明*transport(MSMQ)和persistence(RavenDb)之间的区别。谢谢你的反馈,Phil,我会把这个放在顶部。+1这是正确的答案,但是IMHO可以更明确地说明*transport(MSMQ)和persistence(RavenDB)之间的区别。谢谢你的反馈,Phil,我将把这个放在最上面。