【问题标题】:Is the RavenDB subscription storage a central point of failure for NServiceBus?RavenDB 订阅存储是 NServiceBus 的中心故障点吗?
【发布时间】:2012-11-07 14:55:45
【问题描述】:

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

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

【问题讨论】:

    标签: ravendb nservicebus


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      因此,对于一个端点来说,这是一个故障点,但分布式系统中的其他端点将使用在他们自己的服务器上安装的 Raven。因此,系统保持分布式,整个系统没有单点故障。 RavenDB 支持这一点,因为它可以很容易地安装在任何服务器上。

      与 SQL Server 相比,SQL Server 经常集中化、扩展至最大,甚至集群化以提供高可用性。 (阅读:昂贵!)

      【讨论】:

      • 感谢大卫的回复。但是,我想通过在每个端点上安装多个 ravendb 来分散您的订阅存储会变得更加昂贵,因为我会为每次安装支付许可证?
      • RavenDB 包含在 NSB 许可证中,因此无需额外的许可证费用
      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-13
        • 2012-05-29
        • 2016-09-09
        • 1970-01-01
        • 1970-01-01
        • 2015-04-13
        • 2014-01-03
        相关资源
        最近更新 更多