Redis主从自动切换原理

Redis主从自动切换原理

  • 复制原理

    1:当一个从数据库启动时,会向主数据库发送sync命令, 2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来 3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。 4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。

    redis是通过RDB持久化文件和redis缓存命令来时间主从复制。一般在建立主从关系时,一次同步会进行复制初始化。 以上过程为复制初始化,复制初始化结束后,主数据库每当受到写命令时,就会将命令同步给从数据库,保证主从数据一致性。

  • 哨兵

    哨兵的作用就是监视redis节点的运行状态。 1.监控主数据库和从数据库是否能够正常运行 2.主数据库出现故障时自动将从数据库转换为主数据库。 如果没有哨兵,当主节点挂了后整个就挂了,只能去手动重新启动 监控: Sentinel会不断的检查主服务器和从服务器是否正常运行。

    自动故障转移: 当超过down-after-millisecond时间后,如果节点未回复,则哨兵认为主观下线。 主观下线表示当前哨兵认为该节点已经下面 这时候就要询问其他哨兵节点是否认为该主节点是主观下线,当达到指定数量时,哨兵就会认为是客观下线 当主节点客观下线时就需要进行主从切换,主从切换的步骤为:

    配置提供者: 在Redis Sentinel模式下,客户端应用在初始化时连接的是Sentinel节点集合,从中获取主节点的信息。

  • 集群结构

IP地址

主机名称

角色

192.168.1.11:6379

redis-master

主节点

192.168.1.12:6379

redis-slave1

从节点

192.168.1.13:6379

redis-slave2

从节点

192.168.1.11:26379

redis-master

sentinel1

192.168.1.12:26379

redis-slave1

sentinel2

192.168.1.13:26379

redis-slave2

sentinel3

  • slave配置(1.12和1.13一样)

    replicaof 192.168.56.11 6379 # 配置为master的从 masterauth 123456 # 配置主的密码

  • sentinel配置

    Redis主的别名, IP, 端口,

    这里的2指的是需要至少2个Sentinel认为主Redis挂了才最终会采取下一步行为

    sentinel monitor redis-master 192.168.1.11:6379 6379 2

    如果mymaster 30秒内没有响应,则认为其主观失效,单位毫秒

    sentinel down-after-milliseconds redis-master 30000

    如果master重新选出来后,其它slave节点能同时并行从新master同步数据的台数有多少个

    sentinel parallel-syncs redis-master 1

    该参数指定一个时间段,在该时间段内没有实现故障转移成功,则会再一次发起故障转移的操作,单位毫秒

    sentinel failover-timeout redis-master 180000、

    不允许使用sentinel SET设置notification-script和client-reconfig-script。默认no

    sentinel deny-scripts-reconfig yes

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

redis的三种集群方式

redis有三种集群方式:主从复制,哨兵模式和集群。1.主从复制主从复制原理:从服务器连接主服务器,发送SYNC命令;主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令;主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令;从服务器收到

Python3:sqlalchemy对mysql数据库操作,非sql语句

Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''

Mysql数据库 主从复制的作用原理

主从的作用1.实时灾备:一台主数据库宕机了,启用从数据库,用于故障切换2.读写分离:主服务器只用于写操作,从服务器只用于读取,支持了更大的并发3.备份:可以解决数据丢失的问题,避免影响业务主从原理1、主库接收到更新命令,执行更新操作,生成binlog2、从库sal

Redis主从自动切换原理 - HelloWorld