当节点死亡时,如何使用java客户端连接Redis群集
我有一个Redis集群,其中有一个主机(ip:192.168.56.101)和两个从机(ip:192.168.56.102、192.168.56.103),我使用绝地连接到主机读写数据当节点死亡时,如何使用java客户端连接Redis群集,java,redis,jedis,Java,Redis,Jedis,我有一个Redis集群,其中有一个主机(ip:192.168.56.101)和两个从机(ip:192.168.56.102、192.168.56.103),我使用绝地连接到主机读写数据 JedisPool pool = new JedisPool(new JedisPoolConfig(), "192.168.56.101"); 有一天,我的主节点死了,所以绝地无法连接到集群。 你能帮我一下吗,如果主机连接失效,如何连接集群? 谢谢需要为集群上的每个节点安装Sentinel。哨兵负责故障
JedisPool pool = new JedisPool(new JedisPoolConfig(), "192.168.56.101");
有一天,我的主节点死了,所以绝地无法连接到集群。
你能帮我一下吗,如果主机连接失效,如何连接集群?
谢谢需要为集群上的每个节点安装Sentinel。哨兵负责故障切换。有关哨兵的更多信息 其基本思想是,当其中一个redis节点宕机时,redis哨兵相互协调,并将任何从属节点升级为主节点。 下面的示例代码应该可以工作 JedisSentinelPool运行后台轮询线程以获取pool.getResource()将返回的主节点
JedisSentinelPool=新的JedisSentinelPool(字符串主名,设置哨兵);
绝地=零;
试一试{
jedis=pool.getResource();
}捕获(例外e){
//日志异常
}最后{
返回资源池(绝地);
}
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);
}