2016-09-24 46 views
0

因爲我得到Cassandra具有ALL一致性級別。它提供了:「最高一致性和最低可用性」。如果這個級別提供了強大的一致Cassandra在強一致性模式下的可用性懲罰

有什麼可用的懲罰嗎?當數據不可用時,我沒有看到一個案例。任何人都可以舉一個這樣的例子。

回答

2

如果您使用ALL的一致性級別,則協調器必須接收來自所有節點的響應。這意味着:

  • 成功寫入後,沒有人會讀取以前的狀態(高一致性)。
  • 如果即使單個節點無法響應,整個讀/寫操作也會失敗(低可用性)。

如需進一步閱讀,請參閱CAP theorem


誰能給出例子的這樣的情況的描述。

  • 節點因維護而斷開連接。
  • 節點崩潰。
  • 電源在服務器機房/數據中心熄滅。
  • 節點由於高負載而變得無響應。
  • 到節點的網絡連接故障或變得太慢。
  • 數據尚未傳播到所有節點。
+0

這個例子提示了這個問題,但答案並沒有出現,並說CL = ALL是一個玩具和一個教學工具。沒有人在生產中將它用於真實應用程序,並且這樣做會很瘋狂,因爲即使單個節點緩慢/下降也會導致查詢錯誤。使用LOCAL_QUORUM進行讀取和寫入,實際上可以爲您提供相同數量的一致性,但具有理智的可用性折衷(每個副本集中的複本大於一半需要做出響應)。 –