前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >redis高可用哨兵模式

redis高可用哨兵模式

作者头像
用户10521079
发布2023-05-04 17:59:59
3050
发布2023-05-04 17:59:59
举报
文章被收录于专栏:Smile博客

Redis的主从复制模式下, 一旦主节点由于故障不能提供服务, 需要人工将从节点晋升为主节点, 同时还要通知应用方更新主节点地址, 对于很多应用场景这种故障处理的方式是无法接受的。

1. 哨兵模式介绍

  • Sentinel(哨兵)进程是用于监控redis集群中Master主服务器工作的状态
  • Master主服务器发生故障的时候,可以实现MasterSlave服务器的切换,保证系统的高可用(HA)
  • 其已经被集成在redis2.6+的版本中,Redis的哨兵模式到了2.8版本之后就稳定了下来。

2. 哨兵进程的作用

  • 监控(Monitoring): 哨兵(sentinel) 会不断地检查你的Master和Slave是否运作正常。
  • 自动故障迁移(Automatic failover):当一个Master不能正常工作时,哨兵(sentinel) 会开始一次自动故障迁移操作。
  1. 它会将失效Master的其中一个Slave升级为新的Master, 并让失效Master的其他Slave改为复制新的Master;
  2. 当客户端试图连接失效的Master时,集群也会向客户端返回新Master的地址,使得集群可以使用现在的Master替换失效Master。
  3. Master和Slave服务器切换后,Master的redis.conf、Slave的redis.conf和sentinel.conf的配置文件的内容都会发生相应的改变,即,Master主服务器的redis.conf配置文件中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换。

3. 部署结构

redis
redis
3.1 Redis配置和启动

配置

redis-6379.conf 主要修改参数

代码语言:javascript
复制
port 6379               //端口
daemonize yes           //进程守护运行
logfile "6379.log"      //日志文件
dbfilename "dump-6379.rdb"  //数据持久化
pidfile 6379**          //pid写入文件  

启动

代码语言:javascript
复制
./src/redis-server  redis-6379.conf

从节点从属配置

代码语言:javascript
复制
 //连接从节点
  redis-cli -p 6380 
 // 设置从节点属主节点
  slaveof 127.0.0.1 6379
3.2 哨兵配置和启动
  1. 在 redis配置文件目录下创建 Sentinel.conf
  2. 写入 sentinel monitor myredis 127.0.0.1 6379 1
  3. bind 0.0.0.0 开启远程连接
    • sentinel (哨兵)
    • monitor (监控)
    • myredis (监听redis集群别名)
    • 1 (哨兵投票值)
  4. 启动哨兵 ./src/redis-sentinel sentinel.conf
3.2 springboot哨兵配置
代码语言:javascript
复制
spring:
   redis:
      sentinel:
        master: myredis
        nodes:  47.98.109.90:26379

4. 相关命令

代码语言:javascript
复制
info replication                //查看redis详细信息 
slaveof 127.0.0.1 6379             //设置从属关系
./src/redis-server redis.conf      //启动redis
./src/redis-sentinel sentinel.conf //启动哨兵
redis-cli -h * -p *               //连接客户端
redis-cli -h * -p * shutdown      //关闭redis
yum install gcc-c++        //解压后src目录下执行(基本支持)
make                               //安装所有目录
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 哨兵模式介绍
  • 2. 哨兵进程的作用
  • 3. 部署结构
    • 3.1 Redis配置和启动
      • 3.2 哨兵配置和启动
        • 3.2 springboot哨兵配置
        • 4. 相关命令
        相关产品与服务
        云数据库 Redis
        腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档