2015-12-09 6 views
2

У меня есть кластер Redis с 1 master (ip: 192.168.56.101) и 2 slaves (ip: 192.168.56.102, 192.168.56.103), я использую jedis для подключения к мастер чтения и записи данных.Как подключить java-клиент к кластеру Redis при удалении узла

JedisPool pool = new JedisPool(new JedisPoolConfig(), "192.168.56.101"); 

Однажды мой главный узел умирает, поэтому jedis не может подключиться к кластеру. Не могли бы вы мне помочь, как подключить кластер, если соединение с хостом умерло? Спасибо

ответ

0

Для каждого узла вашего кластера должны быть установлены узлы. Стражи позаботятся об отказе. Для получения дополнительной информации о часовых, http://redis.io/topics/sentinel

Основная идея состоит в том, что, когда один из узлов redis опускается, координаты redis координируют между собой и модернизируют любой из подчиненных устройств для управления. Следующий образец кода должен работать.

JedisSentinelPool запускает фоновый опрос, чтобы получить главный узел, который будет возвращен pool.getResource();

JedisSentinelPool pool = new JedisSentinelPool(String masterName, Set<String> sentinels); 
Jedis jedis = null; 
try{ 
    jedis = pool.getResource(); 
} catch(Exception e){ 
    //log exception 
} finally { 
    pool.returnResource(jedis); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^