Distribuire un cluster Cassandra Apache ad alta disponibilità
Apache Cassandra è un database NoSQL open source. Scala linearmente e i dati vengono replicati automaticamente su più nodi. Eseguire i cluster Apache Cassandra in Oracle Cloud Infrastructure e sfruttare l'affidabilità, la sicurezza e la flessibilità operativa di livello enterprise.
Architettura
Questa architettura di riferimento mostra una distribuzione a 6 nodi di un cluster Cassandra Apache in esecuzione sulle istanze di calcolo Oracle Cloud Infrastructure.

Descrizione dell'immagine cassandra-oci.eps
L'architettura contiene i seguenti componenti:
- Area
Un'area di Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni, e vaste distanze possono separarle (tra paesi o addirittura continenti).
Tutti i componenti di questa architettura vengono distribuiti in un'unica area.
- Domini di disponibilità
I domini di disponibilità sono data center indipendenti e autonomi all'interno di un'area. Le risorse fisiche di ciascun dominio di disponibilità vengono isolate dalle risorse degli altri domini di disponibilità, il che fornisce la tolleranza agli errori. I domini di disponibilità non condividono infrastrutture quali l'alimentazione o il raffreddamento o la rete di dominio di disponibilità interna. È quindi improbabile che un errore in un dominio di disponibilità influenzi gli altri domini di disponibilità nell'area.
- Domini di errore
Un dominio di errore è un raggruppamento di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità dispone di tre domini di errore con alimentazione e hardware indipendenti. Quando si distribuiscono risorse su più domini di errore, le applicazioni possono tollerare errori fisici del server, la manutenzione del sistema e gli errori di alimentazione all'interno di un dominio di errore.
- Rete cloud virtuale (VCN) e subnet
Un VCN è una rete customizzabile e definita dal software impostata in un'area Oracle Cloud Infrastructure. Come le tradizionali reti di data center, i VCN ti danno il controllo completo sull'ambiente di rete. Un VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo la creazione di VCN. È possibile segmentare un VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituito da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet in VCN. È possibile modificare la dimensione di una subnet dopo la creazione. Una subnet può essere pubblica o privata.
- Cluster Cassandra Apache
Questa architettura mostra un cluster Cassandra Apache composto da tre nodi predefiniti e tre nodi non necessari in esecuzione sulle istanze di Oracle Cloud Infrastructure Compute. I nodi vengono distribuiti nei domini di errore all'interno di un singolo dominio di disponibilità. Tutte le istanze di calcolo sono associate a una singola subnet pubblica.
- Gateway Internet
Il gateway Internet in questa architettura consente il traffico tra la subnet pubblica e l'internet pubblico.
- Liste di sicurezza
Per ogni subnet, è possibile creare regole di sicurezza che specifichino l'origine, la destinazione e il tipo di traffico che devono essere consentiti all'interno e all'esterno della subnet.
Questa architettura include regole di ingresso per le porte TCP 7000, 7001, 7199, 9042 e 9160. Apache Cassandra utilizza la porta 7000 per la comunicazione tra cluster (o la porta 7001 se SSL è abilitato) e la porta 7199 per JMX. La porta 9042 è la porta client e 9160 è la porta di trasporto nativa.
- Tabella instradamento
Le tabelle di instradamento virtuale contengono regole per instradare il traffico dalle subnet alle destinazioni al di fuori di un VCN, in genere tramite gateway.
Suggerimenti
Le vostre esigenze potrebbero differire dall'architettura descritta qui. Utilizzare i suggerimenti riportati di seguito come punto di partenza.
- Calcola forma e sistema operativo
Il modello Terraform fornito per questa architettura distribuisce le istanze di calcolo che eseguono Oracle Linux 7.8. Scegliere una forma appropriata per le istanze di calcolo in base alle proprie esigenze. Più memoria dispone di un nodo Cassandra Apache, migliori saranno le prestazioni di lettura. Un maggior numero di CPU si traduce in migliori prestazioni di scrittura.
- VCN
Quando si crea un VCN, determinare il numero di blocchi CIDR richiesti e la dimensione di ciascun blocco in base al numero di risorse che si prevede di associare alle subnet in VCN. Utilizzare blocchi CIDR all'interno dello spazio degli indirizzi IP privati standard.
Selezionare blocchi CIDR che non si sovrappongono a nessun'altra rete (in Oracle Cloud Infrastructure, nel data center in locale o in un altro provider cloud) a cui si intende impostare connessioni private.
Dopo aver creato un VCN, è possibile modificare, aggiungere e rimuovere i blocchi CIDR.
Quando si progettano le subnet, prendere in considerazione il flusso di traffico e i requisiti di sicurezza. Allegare tutte le risorse all'interno di uno specifico livello o ruolo alla stessa subnet, che può fungere da limite di sicurezza.
Utilizzare una subnet regionale.
- Sicurezza
-
Utilizzare Oracle Cloud Guard per monitorare e mantenere proattivamente la sicurezza delle risorse in Oracle Cloud Infrastructure. Cloud Guard utilizza le ricette del rilevatore che è possibile definire per esaminare le risorse per individuare i punti deboli della sicurezza e monitorare gli operatori e gli utenti per le attività a rischio. Quando viene rilevata una configurazione errata o un'attività non sicura, Cloud Guard consiglia azioni correttive e assiste l'esecuzione di tali azioni in base alle ricette del rispondente che è possibile definire.
-
Per le risorse che richiedono la massima sicurezza, Oracle consiglia di utilizzare le zone di sicurezza. Una zona di sicurezza è un compartimento associato a una composizione definita da Oracle di criteri di sicurezza basati sulle best practice. Ad esempio, le risorse in una zona di sicurezza non devono essere accessibili da Internet pubblico e devono essere cifrate utilizzando chiavi gestite dal cliente. Quando si creano e aggiornano le risorse in una zona di sicurezza, Oracle Cloud Infrastructure convalida le operazioni in base ai criteri nella composizione della zona di sicurezza e nega le operazioni che violano uno qualsiasi dei criteri.
-
Considerazioni
Quando si implementa questa architettura, prendere in considerazione i seguenti fattori:
- Scalabilità
Questa architettura distribuisce un nodo iniziale Cassandra Apache e un nodo non necessario in ogni dominio di errore. Potrebbe essere necessario un numero maggiore di nodi per soddisfare i requisiti relativi alle prestazioni o all'alta disponibilità dell'applicazione.
È possibile eseguire lo scale orizzontale del cluster Cassandra di Apache aggiungendo ulteriori istanze di calcolo. È possibile distribuire i nodi predefiniti nei domini di errore.
È possibile eseguire lo scale verticali del cluster modificando la forma di ogni istanza di calcolo. L'utilizzo di una forma con un conteggio core superiore aumenta la memoria allocata all'istanza di calcolo e alla relativa larghezza di banda di rete.
- Disponibilità applicazione
In questa architettura, le istanze di calcolo che eseguono gli stessi task vengono distribuite in modo ridondante su più domini di errore. Questo design elimina qualsiasi singolo punto di errore nella topologia.
Dopo la distribuzione dell'architettura, è possibile connettersi all'indirizzo IP pubblico dei nodi Cassandra di Apache utilizzando strumenti SSH quali PuTTY o Git Bash. È possibile utilizzare Cassandra Query Language (CQL) per le operazioni DDL e DML nel database Apache Cassandra.
- Costo
Una forma a metallo nudo fornisce prestazioni di lettura e scrittura migliori. Se l'applicazione non necessita di prestazioni elevate, è possibile selezionare una forma VM in base alle memorie centrali, alla memoria e alla larghezza di banda di rete necessarie per il database. È possibile iniziare con una forma a 1 core per i nodi Cassandra di Apache e modificare la forma in un secondo momento se sono necessarie ulteriori prestazioni, memoria o larghezza di banda di rete.
Distribuisci
Il codice richiesto per distribuire questa architettura di riferimento è disponibile in GitHub. È possibile estrarre il codice in Oracle Cloud Infrastructure Resource Manager con un solo clic, creare lo stack e distribuirlo. In alternativa, scaricare il codice da GitHub nel computer, personalizzare il codice e distribuire l'architettura utilizzando Terraform CLI.
- Distribuisci utilizzando Oracle Cloud Infrastructure Resource Manager:
- Fare clic su
Se l'utente non ha già eseguito l'accesso, immettere la tenancy e le credenziali utente.
- Rivedere e accettare i termini e le condizioni.
- Selezionare l'area in cui distribuire lo stack.
- Seguire le istruzioni e i prompt sullo schermo per creare lo stack.
- Dopo aver creato lo stack, fare clic su Azioni Terraform e selezionare Piano.
- Attendere il completamento del job e rivedere il piano.
Per apportare eventuali modifiche, tornare alla pagina Dettagli stack, fare clic su Modifica stack e apportare le modifiche necessarie. Eseguire di nuovo l'azione Piano.
- Se non sono necessarie ulteriori modifiche, tornare alla pagina Dettagli stack, fare clic su Azioni Terraform e selezionare Applica.
- Fare clic su
- Distribuire utilizzando Terraform CLI:
- Andare a GitHub.
- Duplicare o scaricare il repository nel computer locale.
- Seguire le istruzioni contenute nel documento
README
.
Log modifiche
Questo log elenca le modifiche significative:
4 febbraio 2021 |
|