Edge for Private Cloud versione 4.17.09
Informazioni sul fattore di replica Cassandra
Cassandra archivia le repliche dei dati su più nodi per garantire affidabilità e tolleranza di errori. La strategia di replica per ogni spazio chiavi Edge determina i nodi in cui vengono collocate le repliche.
Il numero totale di repliche per uno spazio chiavi in un cluster Cassandra è chiamato fattore di replica dello spazio chiavi. Un fattore di replica pari a 1 indica che esiste una sola copia di ogni riga nel cluster Cassandra. Un fattore di replica pari a 2 indica che esistono due copie di ogni riga, ciascuna su un nodo diverso. Tutte le repliche sono ugualmente importanti; non esiste una replica principale o master.
In un sistema di produzione con tre o più nodi Cassandra in ogni data center, il fattore di replica predefinito per uno spazio chiavi Edge è tre. Come regola generale, il fattore di replica non deve superare il numero di nodi Cassandra nel cluster.
Utilizza la procedura seguente per visualizzare lo schema Cassandra, che mostra il fattore di replica per ogni spazio chiavi Edge:
- Accedi a un nodo Cassandra.
- Esegui il seguente comando:
> /opt/apigee/apigee-cassandra/bin/cassandra-cli -h $(hostname -i) <<< "show schema;"
Dove $(hostname -i) si risolve nell'indirizzo IP del nodo Cassandra. In alternativa, puoi sostituire $(hostname -i) con l'indirizzo IP del node.
Per ogni spazio chiavi, vedrai l'output nel seguente formato:
create keyspace kms with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {dc-1 : 3} and durable_writes = true;
Puoi vedere che per il data center 1, dc-1, il fattore di replica predefinito per lo spazio chiavi kms è 3 per un'installazione con tre nodi Cassandra.
Se aggiungi altri nodi Cassandra al cluster, il fattore di replica predefinito non viene influito.
Ad esempio, se aumenti il numero di nodi Cassandra a sei, ma lasci il fattore di replica su tre, non garantisci che tutti i nodi Cassandra abbiano una copia di tutti i dati. Se un nodo si arresta in modo anomalo, un fattore di replicazione più elevato indica una probabilità maggiore che i dati sul nodo esistano su uno dei nodi rimanenti. Lo svantaggio di un fattore di replica più elevato è l'aumento della latenza nelle scritture dei dati.
Informazioni sul livello di coerenza di Cassandra
Il livello di coerenza di Cassandra è definito come il numero minimo di nodi Cassandra che devono confermare un'operazione di lettura o scrittura prima che l'operazione possa essere considerata riuscita. È possibile assegnare diversi livelli di coerenza a spazi dei tasti di Edge diversi.
Quando si connettono a Cassandra per le operazioni di lettura e scrittura, i nodi del server di gestione e del Message Processor in genere utilizzano il valore Cassandra LOCAL_QUORUM per specificare il livello di coerenza per uno spazio chiavi. Tuttavia, alcuni spazi delle chiavi sono definiti in modo da utilizzare un livello di coerenza pari a 1.
Il calcolo del valore di LOCAL_QUORUM per un data center è:
LOCAL_QUORUM = (replication_factor/2) + 1
Come descritto in precedenza, il fattore di replica predefinito per un ambiente di produzione Edge con tre nodi Cassandra è tre. Pertanto, il valore predefinito di LOCAL_QUORUM = (3/2) +1 = 2 (il valore viene arrotondato per difetto a un numero intero).
Con LOCAL_QUORUM = 2, almeno due dei tre nodi Cassandra nel data center devono rispondere a un'operazione di lettura/scrittura affinché l'operazione venga completata. Per un cluster Cassandra di tre nodi, il cluster potrebbe quindi tollerare un nodo inattivo per data center.
Se specifichi il livello di coerenza come LOCAL_QUORUM, Edge evita la latenza necessaria per convalidare le operazioni su più data center. Se uno spazio chiavi utilizzasse il valore Cassandra QUORUM come livello di coerenza, le operazioni di lettura/scrittura dovrebbero essere validate in tutti i data center.
Per visualizzare il livello di coerenza utilizzato dai nodi del processore di messaggi Edge o del server di gestione:
- Accedi a un nodo del Message Processor.
- Passa alla directory /opt/apigee/edge-message-processor/conf:
> cd /opt/apigee/edge-message-processor/conf - Per coerenza in scrittura:
> grep -ri "write.consistencylevel" * - Per la coerenza di lettura:
> grep -ri "read.consistencylevel" * - Accedi al nodo del server di gestione.
- Vai alla directory /opt/apigee/edge-management-server/conf:
> cd /opt/apigee/edge-management-server/conf - Ripeti i passaggi 3 e 4.
Se aggiungi altri nodi Cassandra al cluster, il livello di coerenza non viene interessato.