Cassandra来源 - >接收器复制

时间:2015-09-08 19:26:44

标签: cassandra replication mdc

是否可以组织数据中心之间的单向复制(DC)。 我们假设我们有两个DC:A和B. 我希望写入DC A中节点的所有数据都被复制到DC B,但是DC B中写入的数据都不应该转到A. Cassandra有可能吗?

1 个答案:

答案 0 :(得分:0)

您可以使用两个键空间来接近它。在Cassandra中,键空间控制每个数据中心保留每个分区的副本数。

因此,对于要写入要在B中复制的A的数据,您可以在键空间中创建表,以便在两个数据中心中进行复制,如下所示:

CREATE KEYSPACE both WITH replication = {
    'class': 'NetworkTopologyStrategy', 'A': '1', 'B': '1'};

但是如果你在DC B中写入这个键空间,它也会将写入复制到A。

然后,对于要写入DC B而不将其复制到A的数据,您可以在键空间中创建表,只在B中保留副本,如下所示:

CREATE KEYSPACE bonly WITH replication = {
    'class': 'NetworkTopologyStrategy', 'B': '1'};

使用第二个键空间,您实际上可以向DC A中的节点发出写入,并且数据将路由到B并仅存储在那里。