sql >> Database teknologi >  >> NoSQL >> Redis

Redis/Jedis intet enkelt fejlpunkt og automatiseret failover

Du vil måske prøve Redis Sentinel for at opnå det:

Redis Sentinel er et system designet til at hjælpe med at administrere Redis-forekomster. Det udfører følgende tre opgaver:

  • Overvågning . Sentinel tjekker konstant, om dine master- og slave-instanser fungerer som forventet.

  • Meddelelse . Sentinel kan meddele systemadministratoren eller et andet computerprogram via en API, at der er noget galt med en af ​​de overvågede Redis-forekomster.

  • Automatisk failover . Hvis en master ikke fungerer som forventet, kan Sentinel starte en failover-proces, hvor en slave forfremmes til master, de andre ekstra slaver omkonfigureres til at bruge den nye master, og de applikationer, der bruger Redis-serveren, informeres om den nye adresse, der skal bruges ved tilslutning.

... eller for at bruge en ekstern løsning som Zookeeper og 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 denne præsentation af Zookeeper + Redis.

[Opdatering] ... eller en ren Java-løsning med Jedis + Sentinel er at bruge en wrapper, der håndterer Redis Sentinel-begivenheder, se SentinelBasedJedisPoolWrapper.



  1. MongoDB - Svarende til LEFT JOIN, hvor en samling ikke findes

  2. Forstå Hadoop High Availability Feature

  3. Redis datastruktur pladskrav

  4. Sådan implementeres MongoDB indlejret $elemMatch Query i C#