我有一個疑問,當我閱讀有關cassandra寫入一致性的datastax文檔時。我有卡桑德拉將如何保持對以下情形一致狀態的問題:cassandra集羣上的數據如何保持一致
- 寫一致性水平=法定人數
- 複製因子= 3
按文檔,當進行寫操作時將協調器節點將此寫入請求發送到羣集中的所有副本。如果一個副本成功並且其他失敗,則協調節點將向客戶端發送錯誤響應,但節點1成功寫入數據並且不會回滾。
在這種情況下,
將讀取自修復(或暗示的切換或nodetool修復)從節點-1不一致的數據複製到節點2和節點3?
如果不是cassandra會如何處理不將不一致的數據複製到其他副本?
能否請你澄清我的問題
我們如何克服這個問題。我不希望我的用戶在提交時失敗的收件箱中看到郵件。有沒有什麼解決方法可以避免這個問題? – suresh
我不知道有什麼辦法可以避免這種情況,但是您可以做的是在失敗的寫入中再次嘗試。只有當該分區鍵有足夠的節點可用時,這才起作用,否則寫入將再次失敗。 一種選擇是將第二次寫入的寫入一致性級別降低爲1。 – Navid
感謝您的更新。我希望卡桑德拉能提出一些解決方案。 – suresh