Distribuisci una cache distribuita altamente disponibile utilizzando Redis

Redis è un'area di memorizzazione della struttura dati in memoria aperta utilizzata come database, cache e broker di messaggi. Supporta strutture di dati quali stringhe, hash, liste, set, set ordinati con query intervallo, bitmap, HyperLogLogs, indici geospaziali con query raggio e flussi.

Nota

OCI offre anche il proprio servizio Redis completamente gestito. Per ulteriori informazioni, vedere la pagina Cache OCI con servizio Redis.

Architettura

Questa architettura di riferimento mostra una distribuzione tipica a sei nodi di un cluster Redis sulle istanze di Oracle Cloud Infrastructure Compute.

Il seguente diagramma illustra questa architettura di riferimento.

Segue una descrizione dell'immagine redis-oci-png.png
Descrizione dell'immagine redis-oci-png.png

Questa architettura ha i seguenti componenti:

  • Area

    Un'area 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).

  • Domini di disponibilità

    I domini di disponibilità sono data center indipendenti e autonomi all'interno di un'area. Le risorse fisiche in ogni dominio di disponibilità vengono isolate dalle risorse negli altri domini di disponibilità, il che fornisce 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 a 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à ha tre domini di guasto 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 reti di data center tradizionali, offre controllo completo sull'ambiente di rete. Un VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo aver creato VCN. È possibile segmentare un VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet in VCN. È possibile modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.

    In questa architettura, tutte le istanze di calcolo che ospitano il cluster Redis sono associate a una singola subnet regionale.

  • 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 aggiunge regole di ingresso per le porte TCP 16379 e 6379. La porta 6379 serve i client Redis e la porta 16379 viene utilizzata dal bus cluster Redis.

Suggerimenti

Le vostre esigenze potrebbero differire dall'architettura descritta qui. Utilizzare i suggerimenti riportati di seguito come punto di partenza.

  • Calcola forme

    Questa architettura utilizza un'immagine del sistema operativo Oracle Linux 7.6 con una forma VM.Standard2.2. Se l'applicazione ha bisogno di più memoria, core o larghezza di banda di rete, è possibile scegliere una forma diversa.

  • 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 che si trovano 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 subnet regionali.

Considerazioni

  • Scalabilità

    Il numero minimo di nodi necessari per garantire la disponibilità di un cluster Redis è di tre nodi principali. Questa architettura distribuisce tre nodi principali e tre nodi di replica. Potrebbe essere necessario un numero maggiore di nodi per soddisfare le prestazioni dell'applicazione o i requisiti di alta disponibilità.

    È possibile scalare orizzontalmente il cluster Redis aggiungendo altri nodi di calcolo.

    È possibile scalare verticalmente il cluster Redis modificando la forma VM di ogni nodo Compute. La selezione di una forma con una forma di conteggio core superiore aumenta anche la memoria allocata all'istanza di calcolo e alla larghezza di banda della rete.

  • Disponibilità applicazioni

    I domini di errore forniscono la migliore resilienza all'interno di un singolo dominio di disponibilità. Questa architettura utilizza un altro approccio all'alta disponibilità, che distribuisce istanze di calcolo che eseguono gli stessi task nelle aree con più domini di disponibilità. Questo design rimuove un singolo punto di guasto introducendo ridondanza.

    Dopo la distribuzione dell'architettura, è possibile connettersi all'indirizzo IP pubblico del nodo Redis utilizzando strumenti SSH quali PuTTY o Git Bash. È possibile utilizzare l'interfaccia della riga di comando Redis, redis-cli, per interagire con la distribuzione Redis.

  • Costi

    Selezionare la forma Virtual Machine (VM) in base alle memorie centrali, alla memoria e alla larghezza di banda di rete necessarie per il database. È possibile iniziare con una forma one-core e modificare la forma VM in un secondo momento se sono necessarie ulteriori prestazioni, memoria o larghezza di banda di rete per il nodo Redis.

Distribuzione

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:
    1. Fare clic su Distribuisci in Oracle Cloud

      Se non si è già connessi, immettere la tenancy e le credenziali utente.

    2. Rivedere e accettare i termini e le condizioni.
    3. Selezionare l'area in cui distribuire lo stack.
    4. Seguire le istruzioni e i prompt sullo schermo per creare lo stack.
    5. Dopo aver creato lo stack, fare clic su Azioni Terraform e selezionare Piano.
    6. 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.

    7. Se non sono necessarie ulteriori modifiche, tornare alla pagina Dettagli stack, fare clic su Azioni Terraform e selezionare Applica.
  • Distribuire utilizzando Terraform CLI:
    1. Andare a GitHub.
    2. Scaricare o clonare il codice sul computer locale.
    3. Seguire le istruzioni riportate in README.md.

Log modifiche

Questo log elenca solo le modifiche significative: