Redis高可用方案:sentinel(哨兵模式)和集群

每年转战互联网行业的人很多,说白了也是冲着高薪去的,不管你是即将步入这个行业还是想转行,学习是必不可少的。作为一个Java开发,学习成了日常生活的一部分,不学习你就会被这个行业淘汰,这也是这个行业残酷的现实。如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。im 7002/redis.conf #修改端口为7002将配置文件目录拷贝到192.168.126.161上修改配置文件(端口号和ip)
摘要由CSDN通过智能技术生成

接着其他Sentinel也陆续发现故障,这个时候其中一个Sentinel就会发起投票。一定数量的哨兵(在配置文件中指定)确认Master被标记为主观下线,此时将Master标记为客观下线。

3.sentinel的leader选举:

要想完成故障切换(将故障master剔除,并将一个slave提升为master)就必须先选举一个leader。最先发现故障的sentinel向其他哨兵发起请求成为leader,其他哨兵在没有同意别的哨兵的leader请求时,就会把票投给该sentinel。当半数以上的sentinel投票通过后就认定该sentinel为leader。接下来的故障切换有该leader完成。

4.master选举:

leader选好后将故障master剔除,从slave中挑选一个成为master。遵照的原则如下:

  • slave的优先级

  • slave从master那同步的数据量,那个slave多就优先。

5.新Master再通过发布订阅模式通知所有sentinel更新监控主机信息。

6.故障的主服务器修复后将成为从服务器继续工作。

故障发生

1afa274aebf7c71a5e65b8d9ba32db99.png

故障切换

7fd8b9af214995a69a948d7a4f78fb2c.png

Master重新上线后

e9938a278df717ff23a47600b1e62e5f.png

哨兵模式配置

本实验在一台机器上完成,创建不同端口的redis实例。

7b3da22a3abd1373cf04d4775ff1470f.png

1.创建redis实例

[root@redis ~]# nohup redis-server --port 6380 >> /data/redis/log/6380.log 2>&1 &

[root@redis ~]# nohup redis-server --port 6381 >> /data/redis/log/6381.log 2>&1 &

[root@redis ~]# nohup redis-server --port 6382 >> /data/redis/log/6382.log 2>&1 &

[root@redis ~]# ps -ef |grep redis

root      16421  16314  0 03:01 pts/1    00:00:00 redis-server *:6380

root      16427  16314  0 03:01 pts/1    00:00:00 redis-server *:6381

root      16431  16314  0 03:01 pts/1    00:00:00 redis-server *:6382

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值