RavenDB订阅存储是NServiceBus的中心故障点吗?

时间:2012-11-07 14:55:46

标签: ravendb nservicebus

我正在使用NServiceBus作为我们产品中的SOA机制进行评估。我正在研究使用发布/订阅模式,我的理解是订阅服务将存储所有订阅。

这是否意味着如果我的RavenDB服务器出现故障,那么我的发布商就会失去发送给订阅者的能力?或者,发布者是否有办法缓存它拥有的订阅者,如果RavenDB下降,那么它会传递给已知的订阅者?

3 个答案:

答案 0 :(得分:3)

您可以将RavenDB服务器作为复制节点运行,以避免出现单点故障。

答案 1 :(得分:3)

一般模式是端点具有充当工作者和分发者的主节点,然后主节点在同一服务器上使用Raven安装来存储其订阅和传奇存储。

因此,这是一个端点的失败点,但分布式系统中的其他端点将在自己的服务器上使用Raven安装。因此,系统保持分布,整个系统没有单点故障。 RavenDB实现了这一点,因为在任何服务器上安装它都相当容易。

将此与SQL Server进行对比,后者经常集中,扩展到最大,甚至是群集,以提供高可用性。 (阅读:贵!)

答案 2 :(得分:1)

您还可以在Windows故障转移群集中运行RavenDB,其中节点使用共享SAN作为RavenDB数据文件。如果活动节点死亡,则另一个接管。由于数据存储在SAN上,除了在新节点上启动RavenDB Windows服务所需的时间之外,您甚至不应该注意到它。查看http://ravendb.net/docs/server/administration/fmc_configuration

与分销商一起运行时,这也是推荐的高可用性设置。 http://docs.particular.net/nservicebus/scalability-and-ha/distributor/