Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 失败后跨数据中心同步_Database_Database Design_Cassandra - Fatal编程技术网

Database 失败后跨数据中心同步

Database 失败后跨数据中心同步,database,database-design,cassandra,Database,Database Design,Cassandra,有谁能解释一下在这些场景中会发生什么,特别是为什么在第二个场景中数据从未同步 简介: 2 DCs,具有网络拓扑策略的键空间{DC-1:3,DC-2:3} 所有写入和读取都使用CL=本地仲裁 “将x写入dc-2”意味着我使用cqlsh连接到dc-2中的某个cassandra实例并执行一些写入操作 “dc-1死亡”表示所有cassandra实例都已终止(kubectl delete pod) 情景1——我理解 DC-1模具 将x写入DC-2 DC-1复活了 DC-1上的读取在几秒钟后返回正确结

有谁能解释一下在这些场景中会发生什么,特别是为什么在第二个场景中数据从未同步

简介:

  • 2 DCs,具有网络拓扑策略的键空间{DC-1:3,DC-2:3}
  • 所有写入和读取都使用CL=本地仲裁
  • “将x写入dc-2”意味着我使用cqlsh连接到dc-2中的某个cassandra实例并执行一些写入操作
  • “dc-1死亡”表示所有cassandra实例都已终止(kubectl delete pod)

情景1——我理解

  • DC-1模具
  • 将x写入DC-2
  • DC-1复活了
  • DC-1上的读取在几秒钟后返回正确结果
  • 这就是我们想要的行为——数据最终是同步的


    情景2

  • DC-1模具
  • 将x写入DC-2
  • DC-2模具
  • DC-1复活了
  • DC-1上的读取返回陈旧数据
  • DC-2复活了
  • DC-1上的读取在长时间后返回陈旧数据

  • 在这种情况下,数据是否会在整个DC中再次同步?

    对于这两种情况,您需要在两个DC上的每个节点上运行nodetool修复。但是,cassandra节点存储特定时间的提示,默认时间为3小时。修复可确保cassandra群集上数据的一致性。

    对于这两种情况,您需要在两个DC上的每个节点上运行nodetool修复。但是,cassandra节点存储特定时间的提示,默认时间为3小时。修复可确保cassandra群集上数据的一致性