Panoramica di Memorystore for Memcached

Questa pagina presenta il servizio Memorystore for Memcached, inclusi i casi d'uso, i concetti chiave e i vantaggi dell'utilizzo di Memcached.

Memorystore for Memcached è un servizio Memcached completamente gestito e a scalabilità elevata per Google Cloud. Il servizio è basato su Memcached open source ed è conforme al protocollo binario e ASCII. È possibile accedere a questo servizio utilizzando le librerie client OSS Memcached standard in tutti i linguaggi, semplificando il lift and shift delle applicazioni esistenti con modifiche minime o nulle al codice.

Le applicazioni web scalabili e ad alte prestazioni utilizzano spesso un datastore in memoria distribuito per ottenere bassa latenza e prestazioni elevate. Memcached è un popolare archivio chiave-valore distribuito in memoria, utilizzato per creare tali applicazioni. Alcuni dei casi d'uso comuni di Memcached includono la memorizzazione nella cache dei dati di riferimento, la memorizzazione nella cache delle query del database e, in alcuni casi, l'utilizzo come archivio di sessioni.

Per saperne di più su Memcached, consulta la pagina delle informazioni su Memcached del software open source (OSS).

Memorystore semplifica inoltre il deployment di un servizio Memcached. Tu esegui il deployment di Memorystore e Google gestisce il servizio per te, in modo che tu possa concentrarti sulla tua applicazione. Memorystore ti offre tutti i vantaggi di Memcached senza l'overhead associato all'installazione e alla gestione.

Concetti fondamentali

Memorystore for Memcached consente la creazione di un cluster Memcached completamente gestito. Prima di utilizzare il servizio, è importante comprendere alcuni concetti e termini chiave.

  • Istanza Memcached rappresenta un'istanza di un cluster Memcached. Un'istanza può essere composta da un singolo nodo o da una raccolta di nodi. Tutti i nodi di un'istanza devono avere la stessa memoria per nodo e lo stesso numero di vCPU. Le chiavi scritte nell'istanza sono divise tra tutti i nodi nel cluster e non vengono replicate.

  • Il nodo Memcached è l'unità fondamentale di un'istanza Memcached. Prima di creare un cluster, è importante determinare il numero di nodi, la memoria per nodo e il numero di vCPU per nodo che verrà utilizzato per creare il cluster Memcached. La configurazione del nodo e il numero di nodi dipendono dalla dimensione del set di dati, dalla tolleranza per la perdita di chiavi e dalle caratteristiche del carico di lavoro. Ogni nodo ha un indirizzo IP e una porta. Puoi recuperare l'elenco degli indirizzi IP di tutti i nodi manualmente o utilizzando il servizio di individuazione automatica.

  • Località consente di specificare la regione in cui esegui il deployment dell'istanza e la modalità di distribuzione dei nodi tra le zone all'interno della regione.

    Quando crei un'istanza Memorystore, scegli prima la regione in cui eseguire il deployment dell'istanza. La scelta dell'area geografica è un fattore importante. Devi eseguire il deployment dell'istanza nella stessa regione in cui è stato eseguito il deployment dell'applicazione che accede all'istanza Memorystore. L'accesso a un'istanza Memorystore da una risorsa Google Cloud in un'altra regione non è supportato.

    Tutti i nodi Memorystore sono distribuiti all'interno della regione designata. All'interno della regione, hai la possibilità di distribuire automaticamente i nodi in tutte le zone o di selezionare le zone specifiche in cui dovrebbero trovarsi i nodi. Ti consigliamo di distribuire automaticamente i nodi per consentire a Memorystore di distribuirli in modo ottimale nelle zone disponibili. Dovresti evitare il provisioning di tutti i nodi in una singola zona per migliorare la tolleranza agli errori dell'applicazione.

  • Rete VPC autorizzata indica la rete VPC Google utilizzata dall'istanza. La rete autorizzata viene impostata durante la creazione dell'istanza e non può essere modificata in un secondo momento. È necessario stabilire una connessione di accesso privato ai servizi su una rete VPC affinché questa funzioni con Memorystore for Memcached. Solo le risorse e gli utenti che hanno accesso alla rete VPC autorizzata possono accedere all'istanza.

  • Per poter creare l'istanza Memcached, è necessario che la connessione di accesso privato ai servizi sia stabilita per la rete VPC autorizzata utilizzata dall'istanza Memcached. Ti consigliamo di contattare il team di networking/sicurezza per configurare la connessione prima di creare l'istanza. Una connessione di accesso privato ai servizi consente di creare istanze utilizzando indirizzi IP interni e fornisce agli amministratori il controllo sull'intervallo di indirizzi IP interni utilizzati dalle istanze Memorystore. Per maggiori dettagli, vedi Networking.

  • Le configurazioni consentono di impostare configurazioni specifiche di Memcached durante la creazione delle istanze e di modificare le configurazioni durante il runtime. Per un elenco delle configurazioni supportate, consulta l'articolo Configurazioni Memcache.

  • Il servizio di individuazione automatica offre ai client Memcached un modo programmatico di rilevare tutti i nodi nel cluster. I client possono eseguire periodicamente query sull'endpoint di rilevamento per ottenere l'elenco degli indirizzi IP dei nodi. L'elenco viene solitamente utilizzato per distribuire le chiavi tra tutti i nodi utilizzando un hashing coerente. L'utilizzo del servizio di individuazione automatica è particolarmente utile per gli ambienti che scalano periodicamente il numero di nodi in un'istanza. Per scoprire di più, vedi Servizio di individuazione automatica.

La tabella seguente illustra le diverse funzionalità disponibili Memorystore for Memcached:

Funzionalità Descrizione
Versioni Memcached Il servizio attualmente supporta le versioni 1.5.16 e 1.6.15. Per ulteriori informazioni, vedi Versioni supportate.
Dimensioni delle istanze Un'istanza può avere un massimo di 20 nodi. Tutti i nodi hanno la stessa configurazione. Un nodo può avere un minimo di 1 vCPU e un massimo di 32 vCPU. La memoria minima per nodo è 1 GB e la memoria massima supportata per nodo è 256 GB. La memoria può essere specificata in incrementi di 1 GB. La dimensione massima di un'istanza è 5 TB.
Scalabilità delle istanze Puoi scalare orizzontalmente l'istanza aumentando o diminuendo il numero di nodi. La scalabilità verticale dei nodi richiede la nuova creazione dell'istanza.
Configurazioni di Memcached Puoi configurare l'istanza per il tuo carico di lavoro specifico. Per un elenco delle configurazioni, consulta l'articolo Configurazioni Memcached.
Sicurezza e controllo dell'accesso
  • L'accesso a un'istanza è limitato ai client connessi alla rete VPC del progetto. Se l'istanza utilizza una rete VPC condiviso, tutti i client nella rete VPC condiviso possono accedere all'istanza.
  • L'autenticazione a livello di istanza non è disponibile.
  • Le operazioni di amministrazione sono controllate utilizzando i ruoli Identity and Access Management elencati nella pagina Controllo dell'accesso.
Supporto piattaforme È possibile accedere a Memorystore for Memcached dalle seguenti piattaforme.

Piattaforme supportate:
Librerie client Sono supportate tutte le librerie client standard di Memcached in tutti i linguaggi.
Servizio di individuazione automatica Abilita il rilevamento programmatico dei nodi in un'istanza. L'assistenza per il rilevamento automatico è attualmente disponibile nei seguenti client:
  • Go

Puoi anche modificare qualsiasi client Memcached esistente per aggiungere il supporto del rilevamento automatico. Per ulteriori dettagli, vedi Servizio di individuazione automatica.

Il servizio di individuazione automatica è compatibile anche con la maggior parte dei client che supportano il rilevamento automatico di AWS ElastiCache.
Monitoraggio Memorystore for Memcached fornisce metriche e dashboard nella console Google Cloud per monitorare l'istanza. Per maggiori dettagli, consulta Monitoraggio delle istanze Memcached.

Passaggi successivi