基于Sentinel实现redis主从自动切换

Sentinel(哨兵)是用于监控redis集群中Master状态的工具,它可以实现对redis的监控、通知、自动故障转移。

Sentinel作用:

  1. Master状态检测

  2. 当被监控的某个 Redis Master异常无法连接时 Sentinel 可以向系统管理员发送通知, 也可以通过 API 向其他程序发送通知,并且进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave

  3. Master-Slave切换后,masterredis.conf、slaveredis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换。当应用程序连接Redis 服务器时, Redis Sentinel会告之新的主服务器地址和端口。

Redis 主从部署:

Sentinel:

具体部署(简写) mkdir -p /opt/redis6379/{bin,etc,var,log} 
mkdir -p /opt/redis6381/{bin,etc,var,log}

master config:

slave config:

启动:

查看主从状态:

查看同步:

数据以同步

配置sentinel:

sentinel.conf:

说明: port 监听端口 
dir Sentinel服务运行时使用的临时文件夹 sentinel monitor master IP 端口 x 监控的 redis master ip 端口 判断为失效至少需要2个 Sentinel进程的同意,只要同意Sentinel的数量不达标,自动failover就不会执行

一下配置启动之后无法看到 sentinel failover-timeout master 180000 : 如果在该时间(ms)内未能完成failover操作,则认为该failover失败 sentinel parallel-syncs master 1:指定了在执行故障转移时,最多可以有多少个从Redis实例在同步新的主实例,在从Redis实例较多的情况下这个数字越小,同步的时间越长,完成故障转移所需的时间就越长

启动 redis-sentinel :

模拟故障:

查看:

master 已经主观转移

本文进行简单的sentinel测试 
后面进行redis参数优化讲解以及测试线上master方案 
twemproxy 
codis 
redis cluster

原创文章,作者:可乐,如若转载,请注明出处:/10499

评论列表(1条)

  • stanley
    stanley 2016-02-14 10:23

    样式略乱,内容详尽

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达直属  万达娱乐主管QQ  万达娱乐招商  万达招商QQ  万达登录  万达主管  万达娱乐平台  万达招商  万达娱乐注册  万达娱乐招商