【问题标题】:Cassandra one way replicationCassandra 单向复制
【发布时间】:2015-10-16 10:32:20
【问题描述】:

Cassandra 是否支持单向复制?假设我有 2 个 DC,DC1 和 DC2。实时数据仅写入 DC1,异步复制发生在 DC2。现在有没有办法,如果我在 DC2 中对相同的数据进行一些写入,它不会在 DC1 中复制?

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    没有单向复制的概念。如果您的复制因子为 2,那么它将在任意两个节点中复制数据。您正在使用 DC1 和 DC2,那么您必须使用“NetworkTopologyStrategy”并为每个 DC 定义复制因子。您的问题将使用“Snitch”工具自动解决,以确定数据存储在两个 DC 的不同节点中。

    【讨论】:

      【解决方案2】:

      当您create a keyspace时,此功能可用

      假设您希望在两个数据中心上复制键空间 1,在一个数据中心上复制键空间 2:

      这会将您的数据复制到一个数据中心:

      CREATE KEYSPACE keyspace1 WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 };
      

      这在两个数据中心上:

      CREATE KEYSPACE keyspace2
        WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1, 'datacenter2' : 1};
      

      【讨论】:

        【解决方案3】:

        没有单向复制的概念。您有几个选择:

        1) 在写入 DC2 时使用低一致性级别 (LOCAL_*),因此应用不会阻止复制到 DC1

        2) 将 dcs 保持在单独的环中,并与 stable loader 同步批量加载

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-02-04
          • 2019-08-10
          • 2019-01-14
          • 2012-12-27
          • 2014-06-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多