redis基于sentinel的主从高可用

         应业务要求,需要对单点的redis做高可用,选择了官方提供的sentinel(哨兵)提供redis主从高可用。
        sentinel 功能: Monitoring  监控redis主从的情况
                              Notification  通知系统监控的某个redis实例挂掉
                                    Automatic failover  自动进行故障转移 ,自动从slaves中选举一个成为master ,其他slave从属新master
                                    Configuration provider    充当客户端和redis的中间层,永远向客户端返回可用的redis服务地址

           下载redis    wget    http://download.redis.io/releases/redis-3.2.3.tar.gz

            安装过程省略
            安装成功后 有个默认的sentinel.conf  文件   

          启动sentinel     
redis-sentinel /path/to/sentinel.conf
或者
redis-server /path/to/sentinel.conf --sentinel

sentinel.conf 常用配置

port   26379   默认工作端口,使用sentinel集群需要分配不同端口 
daemon   yes    后台工作模式
dir    '/tmp'       工作目录
logfile   './sentinel.log'           指定日志,相对于/tmp而言   日志存在于/tmp/sentinel.log

 sentinel  monitor   mymaster   127.0.0.1 6379  1              
 sentinel monitor  是语法固定      mymaster是自己命名的一组主从名称   127.0.0.1 6379 是监控的主redis地址   1 代表投票数,在sentinel集群中代表多1个sentinel认为不可用,此redis才会被认为不可用 

sentinel    down-after-milliseconds mymaster  30000   在多少时间内无发挥状态,认定不可用  (单位毫秒)
sentinel failover-timeout mymaster 180000   故障迁移多少时间未成功 代表迁移失败 

   只需要写上master的就可以,sentinel能自动检测出所有slaves

如有多个master-slave实例   可以新增实例名

所有的配置都能在sentinel客户端中配置

sentinel 会自动把识别的slave信息加到sentinel.conf中

启动顺序master->slave->sentinel   
 
客户端连接
客户端直接连接sentinel   通过redis-cli -p 26379
通过   SENTINEL get-master-addr-by-name mymaster 命令获取当前可用的master ,通过此master进行数据存取

也可以通过此接口直接编辑一主主从实例
为避免sentinel单点,可以使用sentinel集群模式











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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值