2016-09-24 4 views
0

comme je l'ai eu Cassandra a tout niveau de cohérence. Il fournit: "la plus grande cohérence et la plus faible disponibilité". Si ce niveau fournit une forte cohérence?pénalité de disponibilité Cassandra en mode de consistance forte

Quelle est la pénalité pour disponibilité? Je ne vois pas de cas où les données ne seront pas disponibles. Quelqu'un pourrait-il donner un exemple d'un tel cas.

Répondre

2

Si vous utilisez un niveau de cohérence ALL, le coordinateur doit recevoir une réponse de tous les nœuds. Cela signifie que:

  • Après une écriture réussie, personne ne lira l'état précédent (haute cohérence).
  • Si même un seul nœud ne répond pas, toute l'opération de lecture/écriture échouera (faible disponibilité).

Pour plus d'informations, voir CAP theorem.


Quelqu'un pourrait-il donner l'exemple d'un tel cas.

  • Un nœud est déconnectée pour l'entretien.
  • Un nœud se bloque.
  • L'alimentation est coupée dans la salle des serveurs/centre de données.
  • Un noeud ne répond plus en raison d'une charge élevée.
  • La connexion réseau à un nœud diminue ou devient trop lente.
  • Les données n'ont pas encore été propagées à tous les nœuds.
+0

Les exemples font allusion à cela mais la réponse ne vient pas tout de suite et dit que CL = ALL est un jouet et un outil d'enseignement. PERSONNE ne l'utilise en production pour de vraies applications et il serait fou de le faire puisque même un seul nœud lent/bas provoquerait des erreurs de requête. L'utilisation de LOCAL_QUORUM pour les lectures et les écritures vous donne pratiquement la même consistance mais avec des compromis de disponibilité sains (> la moitié des réplicas de chaque jeu de réplicas doivent être réactifs). –