Domanda

Apache Zookeeper è una specie di negozio di dati disponibile elevato per piccoli oggetti. Un cluster di zookeeper è costituito da alcuni nodi che tutti mantengono l'intero set di dati nella loro memoria. Il set di dati si chiama "sempre coerente", quindi ogni nodo ha gli stessi dati in ogni momento.

Secondo la documentazione e i post del blog, ogni nodo nel cluster può rispondere alle letture e accettare le scritture.

  • Le letture vengono sempre risposte a livello locale dal nodo, quindi non è coinvolta alcuna comunicazione con il cluster.
  • Le scritture sono inoltrate a un nodo "leader" designato, che inoltra la richiesta di scrittura a tutti i nodi e attende le loro risposte. Se almeno la metà dei nodi risponde, la scrittura è considerata riuscita.

Domanda: perché è abbastanza per il leader aspettare che la metà dei nodi rispondesse? Se qualcuno si collega a uno dei nodi che non ha ricevuto l'aggiornamento, ottiene un risultato obsoleto (solo lettura locale al valore locale).

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top