我们的应用程序在具有两个数据中心的六个节点的 Cassandra 集群中运行。
集群信息:
卡桑德拉版本 :2.0.3
告密者 :GossipingPropertyFileSnith
分区 器:Murmur3Partitioner
每个 dc 有三个节点。
每个 dc 的复制因子为 2。
每个节点使用 num_vnodes = 256。(都是虚拟节点)
DC1 是一个实时的 dc(本地 dc),它为当前的用户提供数据。DC2 只是一个备份 dc(remote dc),它不向用户提供任何数据。由于我们计划单独在 DC1 进行维护操作,因此我们将在维护期间制作远程 DC DC2 来为用户服务。
在中断期间,整个 DC1 可能会停机几天。维护完成后,我们将再次让 DC1 为数据提供服务,并让 DC2 用于备份。所以我们需要在停机后在 DC1 中有最新的数据。我们的应用程序将在中断期间处理大量数据(几 GB)。
在关闭 DC1 之前,
1)在 DC1 节点中需要注意哪些事项(如提交日志设置等)
2) 在 DC2 节点中需要注意哪些事项(如提示切换设置等)
停电期间,
3)当整个 DC1 宕机时,提示将写入哪里(在 DC2 的任何节点中?)以及如何处理这些提示?
DC1启动后,
4) 在中断期间,DC1 节点中的复制可能会失败。我们如何使用 DC2 有效地使用最新数据制作/修复 DC1?