架構區別
cassandra在高可用配置的情況下,無需超時檢測及log回放,對系統的影響時間為毫秒級,基本無感知。
QUORUM | HA機制 | Raft | Region | |
---|---|---|---|---|
故障感知 | Coordinator/客戶端重試、無等待超時時間 + 無log回放 ,無選主時間 | 客戶端重試、超時檢測、log回放 | 客戶端重試、重新選leader | 客戶端重試、超時檢測、log回放 |
感知時間 | 毫秒 | 10秒~10分鐘 | 10秒~10分鐘 | 1分鐘~10分鐘 |
代表系統 | Cassandra | RDS主備、MongoDB主備、Redis主備 | - | HBase |
高可用配置建議
高可用配置基本要求:
- 數據副本數大于等于2,建議配置3副本。
- Cassandra集群節點數需大于等于副本數。
- 讀寫一致性配置:在副本數配置大于等于3時,建議配置Quorum讀寫一致性。不可配置要求所有數據副本所在節點均讀/寫成功才成功的策略,例如配置了三副本,一致性配置了ALL,即讀或寫操作要求三個數據副本所在節點均讀或寫成功才成功,此情況下,若數據副本所在的任何一個節點故障,則數據庫就無法讀/寫,無高可用保障。
故障模擬
3個2cpu4g的節點,在高壓力寫的情況下,直接kill一個節點,客戶端的反饋如下:
在直接kill Cassandra一個節點的進程情況下,服務沒有任何影響。
文檔內容是否對您有幫助?