Informazioni sul servizio di individuazione automatica

Questa pagina fornisce una panoramica del servizio di individuazione automatica per Memorystore for Memcached. Per scoprire come accedere e connettersi al servizio di individuazione automatica, consulta Utilizzo del servizio di individuazione automatica.

Il servizio di individuazione automatica è un modo programmatico che consente ai client di adattarsi automaticamente all'aggiunta e alla rimozione di indirizzi IP dei nodi che si verifica quando scala l'istanza Memcached.

Se non utilizzi il servizio di individuazione automatica, devi gestire manualmente l'elenco degli indirizzi IP del nodo nel client memcached durante la scalabilità. La gestione manuale dell'elenco di indirizzi IP del nodo comporta un ulteriore overhead perché devi assicurarti che i client vengano aggiornati con lo scale up e lo scale down dell'istanza. Il rilevamento automatico aiuta ad automatizzare questa operazione.

Devi utilizzare l'endpoint di individuazione automatica per lo scopo previsto e non eseguire comandi Memcached come get, set e delete.

Panoramica dell'architettura del servizio di individuazione automatica

Memorystore for Memcached espone il servizio di individuazione automatica utilizzando un endpoint di rilevamento. L'endpoint di rilevamento è un indirizzo IP dedicato per l'istanza che restituisce un elenco corrente di nodi nell'istanza Memcached. Ogni istanza di Memorystore for Memcached ha un endpoint di rilevamento univoco. Una volta creata l'istanza, l'indirizzo IP dell'endpoint di rilevamento non cambia.

Per ottenere le informazioni di Rilevamento automatico dell'istanza, esegui una query sull'endpoint di rilevamento. L'endpoint di rilevamento restituisce le seguenti informazioni:

Campo Descrizione Tipo di dati Esempio
ID versione configurazione ID che incrementa per ogni modifica all'elenco dei nodi Numero intero 9
Elenco nodi Restituisce un elenco dei nodi attuali e dei relativi indirizzi IP. Stringa node1-ip|node1-ip|node1-port node2-ip|node2-ip|node2-port

Memorystore for Memcached espone direttamente l'endpoint di rilevamento, ma il rilevamento automatico deve essere disponibile anche nelle librerie client. Esistono due modi per attivare il rilevamento automatico nei client:

  1. Utilizza una libreria client che supporti il rilevamento automatico.

    • Fork client Memcached Golang.
  2. Aggiungi manualmente la logica di individuazione automatica alla tua libreria client.

Comportamento del servizio di individuazione automatica

Il servizio di individuazione automatica è a coerenza finale. Potrebbe verificarsi un ritardo (nell'ordine di secondi) mentre l'elenco dei nodi di Rilevamento automatico si aggiorna alla configurazione attuale del cluster dopo un'operazione di scalabilità.

La coerenza finale, oltre alla natura distribuita del servizio, può produrre il seguente comportamento per i client. La logica del client deve essere progettata per tenere conto di questo comportamento:

  • Lo stesso client su due query separate al servizio di individuazione automatica può ricevere due diverse risposte di individuazione automatica dal servizio (mentre il servizio non è coerente). Tuttavia, una delle risposte ha un valore Configuration version ID più elevato che i client possono utilizzare per gestire le risposte.

  • Due client possono ricevere due diverse risposte di Rilevamento automatico dal servizio (mentre il servizio non è coerente), ma non hanno un modo per capire quale è la più recente perché i client non comunicano tra loro. In questo stato, l'istanza può restituire fallimenti della cache. In questo scenario, i client devono attendere che il servizio di individuazione automatica diventi coerente.

Passaggi successivi