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.