Redis之哨兵模式底层实现

一,哨兵模式的简介

      1,哨兵模式的作用
            sentinel是redis实现高可用性的解决方案;有一个或者多个sentinel组成的sentinel系统,会监控主服务器及其下属的从服务器,当监视的主服务器进入下线状态,那么sentinel就会使得从服务器代替主服务器,继续处理客户端发来的写命令;
      2,故障转移操作
            情况:A为主服务器,B,C,D为从服务器;
            a,当A服务器挂了之后,那么sentinel会从B,C,D中挑选一个服务器来作为主服务器,代替A;
            b,使得其他从服务器重新新的主服务器,此时故障转移操作完毕;
            c,sentinel还会继续监视A服务器,当服务器再次上线之后,就会将A服务器设置为从服务器然后关联现在主服务器;

一,启动并初始化sentinel

      1,启动sentinel命令
            a,redis-sentinel /path/to/your/sentinel.conf
            b,redis-server /path/to/you/sentinel.conf --sentinel
      2,启动一个sentinel需要执行的操作
            a,初始化服务器;
            b,将普通redis服务器使用的代码替换成sentinel专用的代码
            c,初始化sentinel状态
            d,根据给定的配置文件,初始化sentinel的监视主服务器列表;
            e,创建连向主服务器的网络连接
      3,初始化服务器
            a,解释:因为sentinel本质上是一个运行在特殊模式下的的redis服务器,因此第一步就是初始化服务器;
            b,区别:因为sentinel执行的工作和普通redis是不一样的,因此初始化的时候,有些地方有区别;比如:sentinel不会加载rdb文件或者aof文件
      4,使用sentinel专用代码
            a,解释:因为sentinel做的工作和普通redis做的工作是不一样的,因此会使用专用的代码
            b,举例:使用的端口号不同;加载的命令列表也不同;
      5,初始化sentinel状态
            a,解释:会初始化一个sentinelState类,这个类中保存了所有和sentinel功能相关的状态;
            b,sentinelsState的结构
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值