Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Redis/Jedis tidak ada satu titik kegagalan dan failover otomatis

Anda mungkin ingin mencoba Redis Sentinel untuk mencapainya:

Redis Sentinel adalah sistem yang dirancang untuk membantu mengelola instans Redis. Sistem ini melakukan tiga tugas berikut:

  • Pemantauan . Sentinel terus-menerus memeriksa apakah instance master dan slave Anda berfungsi seperti yang diharapkan.

  • Pemberitahuan . Sentinel dapat memberi tahu administrator sistem, atau program komputer lain, melalui API, bahwa ada yang salah dengan salah satu instance Redis yang dipantau.

  • Pengalihan otomatis . Jika master tidak bekerja seperti yang diharapkan, Sentinel dapat memulai proses failover di mana slave dipromosikan menjadi master, slave tambahan lainnya dikonfigurasi ulang untuk menggunakan master baru, dan aplikasi yang menggunakan server Redis diinformasikan tentang alamat baru yang akan digunakan saat menghubungkan.

... atau menggunakan solusi eksternal seperti Zookeeper dan 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();
    }
});

Lihat presentasi Zookeeper + Redis ini.

[Pembaruan] ... atau solusi Java murni dengan Jedis + Sentinel adalah dengan menggunakan pembungkus yang menangani peristiwa Redis Sentinel, lihat SentinelBasedJedisPoolWrapper.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. pekerja python-rq menutup secara otomatis

  2. masalah dalam mengatur backend tugas seledri dengan Python

  3. Skrip Lua untuk Redis yang menjumlahkan nilai kunci

  4. Menjadwalkan tugas seledri dengan ETA besar

  5. Bagaimana cara mengetahui status master/slave redis?