【问题标题】:Cassandra cross dc for high availabilityCassandra 跨 dc 实现高可用性
【发布时间】:2020-01-29 13:18:04
【问题描述】:

我们在 1 个 DC 中有一个 3 节点 Cassandra 集群 我们有另一个 DC(在同一个城市)和另一个 Cassandra 集群(但 cassandra 没有安装在这台机器上) 因此,我们希望跨 DC 仅在(DC 中断、火灾、水淹等)的情况下实现高可用性 根据文档,cassandra 中的 DC 是合乎逻辑的,它的主要目的是更接近客户,但我们不想要这个功能 那么在这种情况下我应该将集群拆分为多 DC 还是使用 1 个 DC? 谢谢

【问题讨论】:

    标签: database cassandra


    【解决方案1】:

    我建议您将集群拆分为 2 个数据中心,这非常符合您的要求,DC 的意思是数据的逻辑分离,但它也受到真实物理 DC 的启发,因此它也是为高可用性。

    根据您的数据和要求,您可以想象每个数据中心可能有 3 个副本,使用 LOCAL_QUORUM 进行读/写,因此您的客户端应用程序只需要每个数据中心 2 个实时副本来保持运行。

    一致性、高可用性和分区容错性之间的权衡取决于您的节点/数据中心数量、复制因子和一致性级别。

    我认为多数据中心对您来说是一个不错的选择。

    这是一个链接,可以帮助您了解复制因子、一致性级别和高可用性之间的关系

    http://www.doanduyhai.com/blog/?p=13216

    希望对你有帮助

    【讨论】:

    • 谢谢我的朋友!但问题是我们在 cassandra 中已经有一些键空间,复制因子为 1,并且没有任何用于 Multi-DC 的告密选项,因此重新创建此键空间将是一团糟
    • 不客气,我了解,但复制因子为 1 时您无法获得可用性,我认为您将不得不面对混乱并永久处理一次。
    【解决方案2】:

    Multi-DC 是 Cassandra 等分布式数据库的好主意。它提供了许多好处,例如可用性、容错性和低延迟。它还有助于在灾难性场景中进行备份和恢复。如果您想在现有集群中添加另一个 DC,您可以通过以下步骤轻松添加:-

    https://docs.datastax.com/en/dse/5.1/dse-admin/datastax_enterprise/operations/opsAddDCToCluster.html 。然而,你想做什么是你的决定。

    https://www.datastax.com/blog/2019/03/distributed-database-things-know-cassandra-datacenter-racks

    【讨论】:

      猜你喜欢
      • 2020-12-13
      • 2019-07-17
      • 2013-09-12
      • 1970-01-01
      • 2018-06-11
      • 2015-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多