Si consiglia di dare una prova di Redis Sentinel per raggiungere questo:
Redis Sentinel è un sistema progettato per aiutare la gestione delle istanze Redis. Svolge le seguenti tre compiti:
monitoraggio. Sentinel controlla costantemente se le istanze master e slave funzionano come previsto.
Notifica. Sentinel può notificare all'amministratore di sistema, o ad un altro programma per computer, tramite un'API, che qualcosa non va con uno delle istanze di Redis monitorate.
Failover automatico. Se un master non funziona come previsto, Sentinel può avviare un processo di failover in cui uno slave viene promosso a master, gli altri slave aggiuntivi sono riconfigurati per utilizzare il nuovo master e le applicazioni che utilizzano il server Redis informate sul nuovo indirizzo da usare durante la connessione.
... o per utilizzare una soluzione esterna, come Zookeeper e Jedis_failover:
JedisPool pool = new JedisPoolBuilder()
.withFailoverConfiguration(
"localhost:2838", // ZooKeeper cluster URL
Arrays.asList(// List of redis servers
new HostConfiguration("localhost", 7000),
new HostConfiguration("localhost", 7001)))
.build();
pool.withJedis(new JedisFunction() {
@Override
public void execute(final JedisActions jedis) throws Exception {
jedis.ping();
}
});
Vai a questa presentation of Zookeeper + Redis.
[Update] ... o una soluzione Java puro con Jedi Sentinel + è quello di utilizzare un wrapper che gestisce gli eventi Redis Sentinel, vedere SentinelBasedJedisPoolWrapper.
non sembra essere un frammento di codice per java che posso usare con le sentinelle. Ricevo l'idea dominante, ma cosa stanno effettivamente usando le persone come nel codice letterale in produzione? –
La gestione del failover automatico di Redis ** senza Sentinel ** richiede sempre un software esterno. Tuttavia hai dato un'occhiata all'implementazione di FailSafe? https: // GitHub.com/xetorthio/jedis/pull/386 Non sarà buono come un vero failover ma se stai cercando una soluzione rapida potrebbe essere un buon punto di partenza – FGRibreau
"ma cosa stanno effettivamente usando le persone come nel codice letterale in questo momento in produzione?" Zookeeper e ora Redis Sentinel, per lo più. – FGRibreau