sql >> Databasteknik >  >> NoSQL >> Redis

Redis/Jedis ingen enskild felpunkt och automatiserad failover

Du kanske vill prova Redis Sentinel för att uppnå det:

Redis Sentinel är ett system utformat för att hjälpa till att hantera Redis-instanser. Det utför följande tre uppgifter:

  • Övervakning . Sentinel kontrollerar hela tiden om dina master- och slavinstanser fungerar som förväntat.

  • Meddelande . Sentinel kan meddela systemadministratören, eller ett annat datorprogram, via ett API, att något är fel med en av de övervakade Redis-instanserna.

  • Automatisk failover . Om en master inte fungerar som förväntat kan Sentinel starta en failover-process där en slav befordras till master, de andra extra slavarna konfigureras om för att använda den nya mastern och applikationerna som använder Redis-servern informeras om den nya adressen som ska användas vid anslutning.

... eller för att använda en extern lösning som Zookeeper och 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();
    }
});

Se denna presentation av Zookeeper + Redis.

[Uppdatera] ... eller en ren Java-lösning med Jedis + Sentinel är att använda en wrapper som hanterar Redis Sentinel-händelser, se SentinelBasedJedisPoolWrapper.



  1. Hur ansluter jag till mongodb med node.js (och autentiseras)?

  2. Avinstallera Redis på Mac OSX. Äldre version körs efter installation av uppdatering

  3. Är memcached en dinosaurie i jämförelse med Redis?

  4. Mongodb-fråga med fält i samma dokument