Abbiamo una configurazione redis con due server redis. Abbiamo anche 3 sentinelle per monitorare le due istanze e avviare un failover quando necessario.Come eseguire un FLUSHALL redis senza avviare un failover sentinella?
Attualmente abbiamo un processo in cui periodicamente dobbiamo eseguire un FLUSHALL sul server redis. Questa è un'operazione di blocco che richiede più tempo del tempo che abbiamo assegnato per il timeout delle sentinelle. In altre parole, abbiamo la nostra configurazione di Sentinel con:
sentinel down-after-milliseconds OurMasterName 5000
e facendo un flushall Redis-cli sul server prende> 5000 millisecondi, per cui le sentinelle avviare un failover.
Riconosciamo che fare un FLUSHALL non è grande e sappiamo anche che potremmo aumentare il down-after-milliseconds ma ai fini di questa domanda assumiamo che nessuna di queste opzioni sia.
La domanda è: come possiamo fare un FLUSHALL (o un'operazione equivalente) SENZA avere i nostri sentinel avviare un failover dovuto al blocco FLUSHALL per oltre 5000 millisecondi? Qualcuno ha incontrato e risolto questo problema?
se ci si trova su una piattaforma cloud, è sufficiente creare una nuova istanza: avere le immagini della macchina pronte o con alcuni strumenti di devops –
@LiviuCostea Penso che questa sia probabilmente l'opzione giusta. Se puoi fare riferimento a qualcosa che descrive un po 'più in dettaglio come potrebbe funzionare, sarei felice di accettare la tua risposta. – jakejgordon
Se si utilizza qualcosa come AWS o Azure di quanto si dispone di API per la creazione di un nuovo cluster Redis. Avvia, carica con i dati e, una volta pronto, modifica semplicemente il DNS, sempre con la chiamata API: tutti questi elementi possono essere gestiti da alcune parti della tua applicazione. Ma sul posto le cose possono diventare più complesse perché richiederà un po 'di automazione con ansible/chef/burattino. –