快速入门Redis Sentinel架构(哨兵)

7 篇文章 0 订阅

一、什么是Sentinel(哨兵)

Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。

注意:配置哨兵必须实现Redis读写分离如何配置请看:https://blog.csdn.net/qq_43791724/article/details/104908590

二、Sentinel(哨兵)执行流程

 三、配置Sentinel(哨兵)

  修改文件: sentinel.conf(三台节点都需要配置)

#修改bind配置,每台机器修改为自己对应的主机名

bind node01 

#配置sentinel服务后台运行

daemonize yes

#修改三台机器监控的主节点,现在主节点是node01服务器

sentinel monitor mymaster node01 6379 2

启动测试:(三台搜需要启动)

src/redis-sentinel sentinel.conf

ps -ef |grep redis 

四、测试redis的sentinel(哨兵)代码开发

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisSentinelPool;
import java.util.Arrays;
import java.util.HashSet;

public class RedisDemo01 {
    public static void main(String[] args) {
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(10);
        config.setMaxIdle(5);
        config.setMinIdle(5);
        //添加哨兵信息
        HashSet<String> lists = new HashSet<>(Arrays.asList("node01:26379","node02:26379","node03:26379"));
        JedisSentinelPool pool = new JedisSentinelPool("mymaster", lists, config);
        // 获取连接对象
        Jedis resource = pool.getResource();
        
        resource.set("mykey", "myvalue");
        // 控制台输入myvalue 说明执行成功
        System.out.println(resource.get("mykey"));

    }
}

评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据老哥

欢迎支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值