Redis实现主从配置及哨兵基本原理

一、Redis主从配置

关于配置文件redis.conf的一些说明

master配置:redis-6379.conf

    deamonize yes #表示开启后台运行

    pidfile /var/run/redis-6379.pid  #pid文件

    logfile 6379.log #日志文件

slave配置:redis-6380.conf

    port 6380

    deamonize yes

    pidfile /var/run/redis/6380.pid

    logfile 6380.log

    slave-read-only yes #从库只能进行读操作

    replicaof 127.0.0.1 6379 #slaveof 表示作为从库的一个配置 从本机的6379同步数据

启动master:redis-server redis-6379.conf

启动slave: redis-server redis-6380.conf

查看启动的redis的信息,包含主从配置关系,以master 的为例:redis-cli -p 6379 info replication

在启动了主库没启动从库的情况下,显示如下:

启动从库,查看从库配置关系

查看主从是否配置成功,也就是在master中set一个字符串,看slave是否有同步过来:

    redis-cli -p 6379 set hello helloworld 

    redis-cli -p 6380 get hello

二、Redis哨兵基本工作原理

 1.三个定时任务:每隔10秒,每隔sentinel会向master和slave节点执行info命令,目的是为了确认主从关系;每隔2秒,sentinel通过master内部的channel来交换信息,目的是交互每隔sentinel对master节点的判断信息;每隔1秒Sentinal对其他节点(包括master,slave,Sentinal)执行ping操作,若master30秒没有回复,就对该master节点进行主观下线,并询问其他Sentinal节点是否可以客观下线

2.领导者的选举:每个主观下线的Sentinal节点要求其他节点将他设置为领导者;收到命令的Sentinal如果还没统一过其他的,就会同意;该Sentinal节点票数过半且达到quorum值,就成为领导者;当出现多个领导者的时候,会等待一段时间重新选举。

3.选出新的master节点:顺序如下:选出slavepriority最高的节点(默认相同);选择复制偏移量最大的节点;选择启动最早的

在所有的节点配置结束之后,Sentinel会通知客户端节点变更信息。客户端连接新的master节点。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值