Specifiche di cluster e nodi

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 i workload di piccole dimensioni. Questo tipo di nodo offre prestazioni variabili e non dispone di uno SLA, il che lo rende inadatto ai workload di produzione.

Il tipo di nodo redis-standard-small ti 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 nodo. redis-standard-small offre anche il vantaggio di distribuire lo spazio delle chiavi su più nodi con un numero totale di vCPU più elevato. Ciò 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.

Se hai carichi di lavoro che richiedono una velocità di potenza di elaborazione superiore rispetto alla memoria, scegli il tipo di nodo redis-highcpu-medium. Se hai bisogno di una capacità maggiore di quella fornita da redis-highmem-medium, ti consigliamo di scegliere i tipi di nodo redis-standard-large, redis-highmem-xlarge o redis-highmem-2xlarge. Quando aggiungi vCPU a nodi sempre più grandi (scalabilità verticale), il rendimento di Redis potrebbe non essere scalabile in modo lineare. Per ottenere un migliore rendimento in termini di prezzo, ti consigliamo di fare 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:

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-highcpu-medium 10,4 GB 13 GB
redis-standard-large 20,8 GB 26 GB
redis-highmem-xlarge 46,4 GB 58 GB
redis-highmem-2xlarge 88 GB 110 GB

Memorystore riserva automaticamente una parte della capacità dell'istanza per evitare errori di memoria insufficiente. In questo modo, l'esperienza di lettura e scrittura delle chiavi è fluida. I limiti di memoria e i dettagli di archiviazione sono i seguenti:

  • Personalizzazione dello spazio di archiviazione:anche se ti consigliamo di utilizzare le impostazioni predefinite, puoi modificare la quantità di spazio di archiviazione riservato utilizzando la configurazione maxmemory. Per informazioni su maxmemory, vedi Configurazioni delle istanze supportate.

  • Quanto spazio di archiviazione è disponibile? Fai riferimento alla colonna Capacità predefinita dello spazio delle chiavi scrivibile 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 maxmemory 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 configurazione maxmemory.

Caratteristiche del nodo

Tipo di nodo Numero di vCPU SLA offerto Numero predefinito di connessioni client Numero massimo di connessioni client Memoria massima per i client (configurazione maxmemory-clients )
redis-shared-core-nano 0,5 No 5000 5000 12%
redis-standard-small 2 16.000 32.000 7%
redis-highmem-medium 2 32.000 64.000 7%
redis-highcpu-medium 8 32.000 64.000 7%
redis-standard-large 8 32.000 64.000 7%
redis-highmem-xlarge 8 64.000 64.000 4%
redis-highmem-2xlarge 16 64.000 64.000 4%

Più CPU virtuali (vCPU) selezioni per il cluster, migliori saranno le prestazioni. Se il 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 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à, 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. Si tratta di uno scale out dell'istanza.
    • Rimuovi gli shard dall'istanza. Questa operazione esegue lo scaling dell'istanza in.
  • Modifica il tipo di nodo per l'istanza. Questa operazione viene definita scalabilità verticale. Per scalare verticalmente un'istanza, 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 ridotta.

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 è compresa tra 1,4 GB e 110 GB. La capacità scrivibile 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 Capacità massima dato il cluster con 62 nodi primari e 3 repliche per nodo Capacità massima dato il cluster di 50 nodi primari e 4 repliche per nodo Capacità massima dato il cluster di 41 nodi primari e 5 repliche per nodo
redis-con core condiviso-nano - 1,4 GB 350 GB 175 GB 116,2 GB 86,8 GB 70 GB 57,4 GB
redis-standard-small - 6,5 GB 1625 GB 812,5 GB 539,5 GB 403 GB 325 GB 266,5 GB
redis-highmem-medium - 13 GB 3250 GB 1625 GB 1079 GB 806 GB 650 GB 533 GB
redis-highcpu-medium - 13 GB 3250 GB 1625 GB 1079 GB 806 GB 650 GB 533 GB
redis-standard-large - 26 GB 6500 GB 3250 GB 2158 GB 1612 GB 1300 GB 1066 GB
redis-highmem-xlarge - 58 GB 14.500 GB 7250 GB 4814 GB 3596 GB 2900 GB 2378 GB
redis-highmem-2xlarge - 110 GB 27.500 GB 13.750 GB 9130 GB 6820 GB 5500 GB 4510 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 di 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 della tua istanza per eseguire il bootstrap dei client del cluster OSS Redis e mantenerli aggiornati in stato stazionario. 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 poi automaticamente degli aggiornamenti e dei reindirizzamenti senza che sia necessaria un'altra modifica dell'applicazione. Per informazioni sul comportamento di rilevamento dei client e sulle best practice, consulta Rilevamento dei client.

L'endpoint di rilevamento è a elevata affidabilità perché è supportato da più nodi Redis in più zone per erogare 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:

  1. L'endpoint di rilevamento del cluster rimane invariato durante il ciclo di vita dell'istanza del cluster, anche durante la manutenzione o qualsiasi altra azione che esegui, ad esempio lo scale in o scale out o la modifica del numero di repliche.

  2. 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

Oltre all'endpoint di rilevamento, ogni cluster ha un endpoint di dati. Questo endpoint è riservato a Memorystore for Redis Cluster per connettere il client ai nodi del cluster. Pertanto, non connetterti direttamente a questo endpoint.