sql >> Databáze >  >> NoSQL >> Redis

Redis/Jedis žádný bod selhání a automatické převzetí služeb při selhání

Možná budete chtít zkusit Redis Sentinel, abyste toho dosáhli:

Redis Sentinel je systém navržený tak, aby pomáhal při správě instancí Redis. Provádí následující tři úkoly:

  • Monitorování . Sentinel neustále kontroluje, zda vaše instance master a slave fungují podle očekávání.

  • Oznámení . Sentinel může upozornit správce systému nebo jiný počítačový program prostřednictvím rozhraní API, že s jednou ze sledovaných instancí Redis není něco v pořádku.

  • Automatické převzetí služeb při selhání . Pokud master nefunguje podle očekávání, Sentinel může spustit proces převzetí služeb při selhání, kde je slave povýšen na master, ostatní další slave jsou překonfigurovány tak, aby používali nový master, a aplikace používající server Redis informovaly o nové adrese, kterou mají použít při připojování.

... nebo použít externí řešení, jako je Zookeeper a 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();
    }
});

Podívejte se na tuto prezentaci Zookeeper + Redis.

[Aktualizovat] ... nebo čistě Java řešení s Jedis + Sentinel je použití wrapperu, který zpracovává události Redis Sentinel, viz SentinelBasedJedisPoolWrapper.



  1. server vrátil chybu v kroku ověřování SASL:Autentizace se nezdařila

  2. Importujte dokumenty do MongoDB z pole dokumentů JSON

  3. Asynchronní provádění příkazů redis

  4. Aktualizace Mongodb hluboce vnořeného vnořeného dokumentu