Come posso risolvere l'errore READONLY che ricevo dopo un failover nel cluster autoprogettato ElastiCache per Redis?

2 minuti di lettura
0

Desidero risolvere l'errore READONLY che ricevo dopo un failover nel cluster autoprogettato Amazon ElastiCache for Redis.

Breve descrizione

Se il nodo principale esegue il failover su nodi di replica nel cluster autoprogettato ElastiCache, il nodo di replica diventa il nodo principale. Ciò permette di soddisfare le richieste in arrivo. L'errore READONLY si verifica quando si utilizza un endpoint del nodo anziché l'endpoint primario del cluster nell'applicazione. Inoltre, questo errore si verifica quando la cache DNS nell'applicazione indirizza il traffico al vecchio nodo principale.

Soluzione

Per risolvere l'errore READONLY nel cluster autoprogettato ElastiCache per Redis con la modalità cluster disattivata, completa i seguenti passaggi:

Verifica che la modalità cluster sia disattivata

Apri la console ElastiCache, quindi seleziona Cluster Redis. Verifica che la Modalità cluster sia disattivata per il cluster. Per ulteriori informazioni, consulta Sto usando ElastiCache per Redis. Perché le richieste di lettura del mio client Redis vengono sempre lette o reindirizzate al nodo principale di uno shard?

Controlla l'endpoint

Assicurati che venga utilizzato l'endpoint primario e non quello del nodo. Per verificare che i comandi di scrittura vadano al nodo principale, utilizza uno dei seguenti metodi:

Usa redis-cli

  1. Usa redis-cli sull'endpoint primario per connetterti al cluster.

  2. Imposta una chiave, quindi leggi la chiave.
    Esempio:

    set key1 "hello"
    OK
  3. Verifica che la chiave sia stata impostata correttamente.
    Esempio:

    get key1
    "hello"

Controlla le impostazioni del DNS

Per evitare problemi di caching DNS, attiva la logica dei nuovi tentativi nell'applicazione. Assicurati di seguire le linee guida per la libreria client Redis che usi.

Controlla i comandi in arrivo

Per controllare i comandi in arrivo, utilizza il comando MONITOR. Per ulteriori informazioni, consulta MONITOR sul sito Web Redis. Per attivare MONITOR, connettiti al cluster con redis-cli. Il comando MONITOR elenca tutti i comandi in entrata nel nodo del cluster.
Nota: il comando MONITOR è un comando costoso in termini di risorse e potrebbe ridurre notevolmente le prestazioni dei nodi. Utilizza questo comando come ultima possibilità per la risoluzione dei problemi.

AWS UFFICIALE
AWS UFFICIALEAggiornata 9 mesi fa