cassandra数据中心可以配置为仅复制接收方吗?

时间:2019-03-20 08:38:46

标签: cassandra

假设我们有2个cassandra数据中心。 其中之一是生产环境且安全性强,另一种是测试环境,更容易破坏,因此不受信任。< / p>

我们希望进行数据复制,但只能从生产环境传播到测试环境,反之亦然。

是否可以将一个数据中心配置为从属:不接收来自另一个数据中心的复制数据并还原不受信任的更改?它应该是只读实例,仅接收来自其他数据中心的数据。

万一有人破坏测试环境,我们不想在生产环境中接收任何可操纵的数据。目标是在复制期间将测试环境的更改恢复到生产环境。

1 个答案:

答案 0 :(得分:0)

不,这不可能直接实现-在Cassandra中,对键空间所做的更改会传播到所有方面。

您可以通过使用单独的群集进行生产和测试来尝试不同的选项:

  • 实施代码以读取CDC files,并将其应用于测试集群-这对从测试环境中删除数据无济于事,因为这种方法仅适用于更改。
  • 使用DataStax advanced replication(使用类似方法)
  • 使用SSTableLoader定期重播从生产到测试的数据-它会重播所有数据,因此有助于删除测试中的数据。但是,如果您有很多数据,可能会花费很长时间。