redis高可用二:哨兵sentinel

根据一配置主从: https://blog.csdn.net/faicm/article/details/81698959

建立sentinel.conf文件

==注意,这里只需要配置master的ip,不需要salve的ip配置,哨兵会自己去找==

# 这个是Redis6379配置内容,其他文件同理新增然后改一下端口即可,26380,和 26381。
#当前Sentinel服务运行的端口
port 26379  
# 哨兵监听的主服务器,这里的ip是针对客户端而言的ip
sentinel monitor mymaster 127.0.0.1 6379 2
# 3s内mymaster无响应,则认为mymaster宕机了
sentinel down-after-milliseconds mymaster 3000
#如果10秒后,mysater仍没启动过来,则启动failover  
sentinel failover-timeout mymaster 10000  
# 执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步
sentinel parallel-syncs mymaster 1
protected-mode no

运行

./redis-sentinel sentinel.conf

jedis访问

public class MasterAndSlaveTest {
    public static void main(String[] args) throws InterruptedException {
        Set<String> sentinels = new HashSet<String>();
        sentinels.add(new HostAndPort("118.25.5.23", 63790).toString());
        JedisSentinelPool sentinelPool = new JedisSentinelPool("mymaster", sentinels);

        System.out.println("Current master: " + sentinelPool.getCurrentHostMaster().toString());

        Jedis master = sentinelPool.getResource();

        while (true) {
            Thread.sleep(2000);
            try {
                //主节点挂了,get会异常,然后重新拉取。
                System.out.println(master.get("aaa"));
            } catch (Exception e) {
                try {
                    master = sentinelPool.getResource();
                } catch (Exception e2) {
                    e2.printStackTrace();
                }
                e.printStackTrace();
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值