sql >> Database >  >> NoSQL >> Redis

Redis/Jedis geen single point of failure en geautomatiseerde failover

Misschien wilt u Redis Sentinel proberen om dat te bereiken:

Redis Sentinel is een systeem dat is ontworpen om Redis-instanties te helpen beheren. Het voert de volgende drie taken uit:

  • Bewaking . Sentinel controleert voortdurend of uw master- en slave-instanties werken zoals verwacht.

  • Melding . Sentinel kan de systeembeheerder of een ander computerprogramma via een API laten weten dat er iets mis is met een van de gecontroleerde Redis-instanties.

  • Automatische failover . Als een master niet werkt zoals verwacht, kan Sentinel een failoverproces starten waarbij een slave wordt gepromoveerd tot master, de andere extra slaves opnieuw worden geconfigureerd om de nieuwe master te gebruiken en de toepassingen die de Redis-server gebruiken op de hoogte worden gesteld van het nieuwe adres dat moet worden gebruikt bij het verbinden.

... of om een ​​externe oplossing zoals Zookeeper en Jedis_failover te gebruiken:

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();
    }
});

Bekijk deze presentatie van Zookeeper + Redis.

[Bijwerken] ... of een pure Java-oplossing met Jedis + Sentinel is om een ​​wrapper te gebruiken die Redis Sentinel-gebeurtenissen afhandelt, zie SentinelBasedJedisPoolWrapper.



  1. Verschil tussen Find en FindAsync

  2. Monitoring Percona Server voor MongoDB - Belangrijkste metrische gegevens

  3. Is er een manier om met sessies te werken zonder de ASP.Net MVC-site te vergrendelen?

  4. HBase BlockCache 101