我有一個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個節點,因爲所有節點都處於關閉狀態,所以無法進行更新。