Funzionamento di Individuazione automatica - Amazon ElastiCache

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Funzionamento di Individuazione automatica

In questa sezione viene descritto in che modo le applicazioni client utilizzano Client del cluster ElastiCache per gestire le connessioni ai nodi di cache e interagire con gli item di dati nella cache.

Connessione ai nodi di cache

Dal punto di vista dell'applicazione, la connessione all'endpoint di configurazione del cluster non è diverso dalla connessione diretta a un singolo nodo di cache. Il diagramma di sequenza seguente mostra il processo di connessione ai nodi di cache.

Connessione ai nodi di cache
1
L'applicazione risolve il nome DNS dell'endpoint di configurazione. Poiché l'endpoint di configurazione mantiene le voci CNAME per tutti i nodi di cache, il nome DNS viene risolto in uno dei nodi; il client può quindi connettersi a tale nodo.
2
Il client richiede le informazioni di configurazione per tutti gli altri nodi. Poiché ogni nodo mantiene informazioni di configurazione per tutti i nodi nel cluster, qualsiasi nodo può passare informazioni di configurazione al client su richiesta.
3

Il client riceve l'elenco corrente di nomi host e indirizzi IP dei nodi di cache. Può quindi connettersi a tutti gli altri nodi nel cluster.

Nota

Il programma client aggiorna il suo elenco di nomi host e indirizzi IP dei nodi di cache una volta il minuto. Questo intervallo di polling può essere modificato se necessario.

Operazioni cluster normali

Quando l'applicazione si è connessa a tutti i nodi di cache, il Client cluster ElastiCache determina quali nodi devono archiviare singoli item di dati e su quali nodi devono essere eseguite query per tali item di dati in seguito. Il diagramma di sequenza seguente mostra il processo di operazioni cluster normali.

Operazioni cluster normali
1
L'applicazione emette una richiesta get per un particolare item di dati, identificato dalla sua chiave.
2
Il client utilizza un algoritmo di hashing rispetto alla chiave per determinare quale nodo di cache contiene l'item di dati.
3
L'item di dati viene richiesto dal nodo appropriato.
4
L'item di dati viene restituito all'applicazione.

Altre operazioni

In alcune situazioni, è possibile effettuare una modifica ai nodi di un cluster. Ad esempio, è possibile aggiungere un nodo aggiuntivo per soddisfare una domanda aggiuntiva oppure eliminare un nodo per risparmiare denaro durante i periodi di domanda ridotta. Oppure potresti sostituire un nodo a causa di un errore di un nodo di un tipo o di un altro.

In presenza di una modifica nel cluster che richiede un aggiornamento dei metadati negli endpoint del cluster, tale modifica viene apportata a tutti i nodi contemporaneamente. Pertanto, i metadati in qualsiasi nodo specificato sono coerenti con i metadati in tutti gli altri nodi nel cluster.

In ciascuno di questi casi, i metadati sono coerenti tra tutti i nodi in qualsiasi momento poiché i metadati vengono aggiornati contemporaneamente per tutti i nodi nel cluster. Si consiglia di utilizzare sempre l'endpoint di configurazione per ottenere gli endpoint dei diversi nodi nel cluster. L'uso dell'endpoint di configurazione evita che vengano ricevuti dati dell'endpoint da un nodo che "scompare".

Aggiunta di un nodo

Durante il periodo di attivazione del nodo, il suo endpoint non è incluso nei metadati. Non appena il nodo diventa disponibile, viene aggiunto ai metadati di ciascuno dei nodi del cluster. In questo scenario, i metadati sono coerenti tra tutti i nodi e sarai in grado di interagire con il nuovo nodo solo dopo che questo diventa disponibile. Il nodo non è noto prima che diventi disponibile e l'interazione con i nodi nel cluster avviene come se il nuovo nodo non esistesse.

Eliminazione di un nodo

Quando un nodo viene rimosso, il relativo endpoint viene rimosso innanzitutto dai metadati e quindi il nodo viene rimosso dal cluster. In questo scenario, i metadati in tutti i nodi sono coerenti e in nessun momento conterranno l'endpoint per il nodo che deve essere rimosso mentre il nodo non è disponibile. Durante la rimozione del nodo il tempo non è segnalato nei metadati e pertanto l'applicazione interagisce solo con gli n-1 nodi rimanenti, come se il nodo non esistesse.

Sostituzione di un nodo

Se un nodo restituisce un errore, ElastiCache arresta tale nodo e rende operativa una sostituzione. Il processo di sostituzione richiede alcuni minuti. Durante questo periodo di tempo i metadati in tutti i nodi mostrano ancora l'endpoint per il nodo non riuscito, ma qualsiasi tentativo di interagire con il nodo restituisce un errore. Pertanto, la logica deve sempre includere la logica di ripetizione.