Come il client Cassandra sceglie il nodo coordinatore? il nodo coordinatore memorizza i dati inviati dal client prima della replica?come Cassandra sceglie il nodo coordinatore e i nodi di replica?
risposta
Il nodo coordinatore viene in genere scelto da un algoritmo che tiene conto della "distanza di rete". Qualsiasi nodo può fungere da coordinatore e, in un primo momento, le richieste verranno inviate ai nodi di cui è a conoscenza l'autista. Ma una volta che si connette e capisce la topologia del cluster, potrebbe passare a un coordinatore "più vicino".
Il coordinatore memorizza i dati solo localmente (su una scrittura) se finisce per essere uno dei nodi responsabili dell'intervallo di token dei dati.
Il coordinatore viene selezionato dal conducente in base alla politica impostata. Le politiche comuni sono la politica DCAwareRoundRobinPolicy e TokenAware.
Per DCAwareRoundRobinPolicy, il driver seleziona il nodo coordinatore in base alla relativa politica round robin. Ulteriori informazioni qui: http://docs.datastax.com/en/drivers/java/2.1/com/datastax/driver/core/policies/DCAwareRoundRobinPolicy.html
Per TokenAwarePolicy, seleziona un nodo coordinatore con i dati interrogati - per ridurre "hop" e latenza. Ulteriori informazioni: http://docs.datastax.com/en/drivers/java/2.1/com/datastax/driver/core/policies/TokenAwarePolicy.html
È consigliabile archiviare le politiche in modo che sia presente un criterio primario e secondario in caso di problemi. Maggiori informazioni disponibili ai link sopra.
Buoni dettagli sulle politiche. – Aaron