Questa pagina descrive le specifiche di cluster e nodi per le istanze di Memorystore for Redis Cluster. Per istruzioni su come creare un'istanza, consulta Crea istanze.
Scegli un tipo di nodo
Tutti gli shard del cluster utilizzano lo stesso tipo di nodo che scegli. Il tipo di nodo migliore per il tuo cluster dipende dai tuoi requisiti di prezzo, prestazioni e capacità dello spazio delle chiavi.
Il tipo di nodo redis-shared-core-nano
è per carichi di lavoro di piccole dimensioni. Questo tipo di nodo
offre prestazioni variabili e non dispone di un SLA, il che lo rende inadatto ai carichi di lavoro di produzione.
Il tipo di nodo redis-standard-small
consente di eseguire il provisioning di cluster di piccole dimensioni e di aumentare le dimensioni del cluster con incrementi più piccoli a costi potenzialmente inferiori rispetto ad altri tipi di nodi. redis-standard-small
offre anche il vantaggio di distribuire lo spazio delle chiavi su più nodi con un numero totale di vCPU più elevato. Offre un miglior rapporto prezzo/prestazioni rispetto a redis-highmem-medium
, a condizione che la capacità totale dello spazio delle chiavi dei nodi più piccoli sia sufficiente per le tue esigenze di dati.
Consigliamo di scegliere il tipo di nodo redis-highmem-xlarge
solo se hai bisogno di una capacità del cluster superiore a quella fornita da redis-highmem-medium
. Sebbene il tipo di nodo redis-highmem-xlarge
sia quattro volte più grande del tipo redis-highmem-medium
, le prestazioni non sono quattro volte superiori, in quanto le prestazioni di Redis non vengono scalate in modo lineare quando vengono aggiunte vCPU a nodi sempre più grandi (scalabilità verticale). Per ottenere un rendimento migliore
del prezzo, devi eseguire lo scale out aggiungendo altri nodi a un cluster.
Specifica del tipo di nodo
La capacità e le caratteristiche del nodo dipendono dal tipo di nodo scelto tra i quattro disponibili:
Capacità dello spazio delle chiavi e overhead riservato
Tipo di nodo | Capacità predefinita dello spazio delle chiavi scrivibile | Capacità totale dei nodi |
---|---|---|
redis-shared-core-nano | 1,12 GB | 1,4 GB |
redis-standard-small | 5,2 GB | 6,5 GB |
redis-highmem-medium | 10,4 GB | 13 GB |
redis-highmem-xlarge | 46,4 GB | 58 GB |
Memorystore riserva automaticamente una parte della capacità dell'istanza per evitare errori di esaurimento della memoria (OOM). Ciò garantisce un'esperienza fluida di lettura e scrittura delle chiavi. I limiti di memoria e i dettagli dello spazio di archiviazione sono i seguenti:
Personalizzazione dello spazio di archiviazione:anche se consigliamo di utilizzare le impostazioni predefinite, hai la possibilità di modificare la quantità di spazio di archiviazione riservato utilizzando la configurazione
maxmemory
. Per informazioni sumaxmemory
, vedi Configurazioni delle istanze supportate.Quanto spazio di archiviazione è disponibile? Fai riferimento alla colonna Capacità dello spazio delle chiavi scrivibile predefinito della tabella precedente. Mostra la quantità di spazio di archiviazione disponibile per le chiavi per impostazione predefinita.
Massimizzazione dello spazio di archiviazione: se vuoi ottenere la massima capacità di archiviazione possibile, la colonna Capacità totale dei nodi mostra il limite di archiviazione quando imposti la configurazione
maxmemory
al 100%. Tuttavia, non consigliare di scegliere un valore dimaxmemory
superiore all'impostazione predefinita.Il tipo di nodo
redis-shared-core-nano
ha un limite rigido di 1, 12 GB e non può essere modificato con la configurazionemaxmemory
.
Caratteristiche del nodo
Tipo di nodo | Numero di vCPU | SLA offerto | Client massimi | Memoria massima per i client (configurazione maxmemory-clients) |
---|---|---|---|---|
redis-shared-core-nano | 0,5 | No | 5000 | 12% |
redis-standard-small | 2 | Sì | 16.000 (valore predefinito). Il valore massimo è 32.000 | 7% |
redis-highmem-medium | 2 | Sì | 32.000 (valore predefinito). Il valore massimo è 64.000 | 7% |
redis-highmem-xlarge | 8 | Sì | 64.000 | 4% |
Maggiore è il numero di CPU virtuali (vCPU) selezionate per il cluster, migliori saranno le prestazioni. Se il tuo cluster esegue carichi di lavoro che richiedono molte risorse, seleziona un tipo di nodo con un numero maggiore di vCPU (ad esempio redis-highmem-xlarge
). Se il tuo cluster esegue attività meno impegnative, seleziona un tipo di nodo con un numero inferiore di vCPU (ad esempio redis-highmem-medium
).
Scalare un'istanza
Quando crei un'istanza Memorystore for Redis Cluster, scegli un tipo di nodo per l'istanza e specifica il numero di shard per l'istanza. Dopo aver creato l'istanza e man mano che cambiano le esigenze di capacità dell'istanza, potrebbe essere necessario scalare l'istanza nei seguenti modi:
- Modifica il numero di shard per l'istanza. Si tratta di scalabilità orizzontale.
Per scalare un'istanza orizzontalmente, esegui una delle seguenti azioni:
- Aggiungi shard all'istanza. Questa operazione comporta lo scaling orizzontale dell'istanza.
- Rimuovi gli shard dall'istanza. Questa operazione esegue lo scale up dell'istanza in.
- Modifica il tipo di nodo per l'istanza. Si tratta di scalabilità verticale. Per scalare
un'istanza verticalmente, modifica il tipo di nodo dell'istanza in uno dei
seguenti tipi di nodo:
- Passa a un tipo di nodo più grande. Si tratta di scalare l'istanza verso l'alto.
- Passa a un tipo di nodo più piccolo. In questo modo, l'istanza viene ridimensionata.
Specifica del cluster
Questa sezione mostra le capacità minime e massime del cluster in base alla forma del cluster, al tipo di nodo e al numero di repliche.
Capacità scrivibile minima
La capacità scrivibile è la quantità di spazio di archiviazione disponibile per la scrittura delle chiavi. È uguale alla dimensione di un nodo dell'istanza. Pertanto, a seconda del tipo di nodo, la capacità scrivibile minima è 1,4 GB, 6,5 GB, 13 GB o 58 GB. La capacità scritturabile minima non è influenzata dal numero di repliche che scegli.
Capacità massima scrivibile
Tipo e dimensioni del nodo | Capacità massima dato un cluster con 250 nodi primari e 0 repliche per nodo | Capacità massima per una forma del cluster di 125 nodi primari e 1 replica per nodo | Capacità massima dato il cluster di 83 nodi primari e 2 repliche per nodo |
---|---|---|---|
redis-shared-core-nano - 1,4 GB | 350 GB | 175 GB | 116,2 GB |
redis-standard-small - 6,5 GB | 1625 GB | 812,5 GB | 539,5 GB |
redis-highmem-medium - 13 GB | 3250 GB | 1625 GB | 1079 GB |
redis-highmem-xlarge - 58 GB | 14.500 GB | 7250 GB | 4814 GB |
Prestazioni
L'utilizzo dello strumento di benchmarking OSS memtier nella regione us-central1
ha prodotto 120.000-130.000 operazioni al secondo per nodo con 2 vCPU (redis-standard-small
e redis-highmem-medium
) con latenza in microsecondi e dimensioni dei dati di 1 KiB.
Ti consigliamo di eseguire il tuo benchmarking con carichi di lavoro reali o sintetici che assomigliano al tuo traffico di produzione. Inoltre, ti consigliamo di dimensionare i cluster con un buffer (o "spazio libero") per i picchi di carico di lavoro o il traffico imprevisto. Per ulteriori indicazioni, consulta Best practice per Memorystore for Redis Cluster.
Endpoint del cluster
Questa sezione spiega i due endpoint di ogni istanza.
Endpoint di rilevamento
Ogni istanza ha un endpoint di rilevamento a cui si connette il client. È una combinazione di un indirizzo IP e un numero di porta. Per istruzioni su come trovare l'endpoint di rilevamento del cluster, consulta Visualizzare l'endpoint di rilevamento del cluster.
Il client lo utilizza anche per il rilevamento dei nodi. Il client utilizza l'endpoint di rilevamento per recuperare la topologia del cluster dell'istanza per eseguire il bootstrap dei client del cluster OSS Redis e mantenerli aggiornati in stato stabile. La topologia del cluster risultante fornisce endpoint dei nodi Redis (combinazioni di IP e porta) da memorizzare nella cache in memoria dal client del cluster Redis. Il tuo cliente si occupa quindi degli aggiornamenti e dei reindirizzamenti automaticamente, senza che sia necessaria alcuna altra modifica all'applicazione. Per informazioni sul comportamento di rilevamento dei client e sulle best practice, vedi Rilevamento dei client.
L'endpoint di rilevamento è a disponibilità elevata perché è supportato da più nodi Redis in più zone per gestire la topologia del cluster. La topologia di pubblicazione tramite l'endpoint è affidabile anche in caso di errori o aggiornamenti dei nodi di backend.
Il tuo endpoint di rilevamento ha il seguente comportamento:
L'endpoint di rilevamento del cluster rimane invariato durante il ciclo di vita dell'istanza del cluster, anche durante la manutenzione o in seguito a qualsiasi altra azione intrapresa, ad esempio lo scale in o scale out o la modifica del numero di repliche.
Gli endpoint dei nodi Redis possono cambiare e possono essere riciclati man mano che i nodi vengono aggiunti e rimossi nel tempo. Idealmente, dovresti utilizzare un client Redis Cluster in grado di gestire automaticamente queste modifiche tramite aggiornamenti e reindirizzamenti della topologia. Esempi di client di cluster Redis sono disponibili in Esempi di codice della libreria client. La tua applicazione non deve avere dipendenze o presupposti che gli endpoint dei nodi rimarranno invariati per un determinato cluster.
Endpoint dati
Ogni istanza ha anche un endpoint dati Private Service Connect che Memorystore for Redis Cluster utilizza per la connessione client. Non devi connetterti direttamente a questo endpoint, ma Memorystore for Redis Cluster lo utilizza per connettere il client ai nodi del cluster.