我有一个Cassandra集群,每个集群有3个数据中心,每个节点有6个节点 - DC1,DC2和DC3 like this。假设我有一个NetworkTopologyStrategy
,同时创建了一个密钥空间,Cassandra:整个数据中心发生故障时会发生什么?
CREATE KEYSPACE test WITH REPLICATION = {'class':'NetworkTopologyStrategy','DC1':3,'DC2':3,'DC3':3 }
它确保任何写入都在每个数据中心的3个节点上复制,只有写入成功后才会写入。
如果整个数据中心出现故障,会发生什么情况?
假设Dc3中的所有节点都关闭了!在这种情况下,即使使用写一致性级别为1的写请求来更新表(一致性级别:必须将写入写入至少一个副本节点的提交日志和memtable。我认为它需要是写入每个数据中心的至少一个节点)。会失败吗?此请求将尝试更新DC3中的至少3个节点,因为所有节点都处于关闭状态,所以无法进行更新。