Redis的哨兵模式
Redis的哨兵模式需要主从复制的支持.
Redis的哨兵(Sentinel)系统用于管理多个Redis服务器,管理着以下的功能:
监控(Monitor):
哨兵(sentinel)会不断地检查系统的master和slave是否运行正常
提醒(Notification):
当监控某个哨兵出现问题的时候,哨兵可以通过api向程序和管理员发送请求
自动故障迁移(automatic failover):
当系统中的一个master不能工作时候,这个时候哨兵(sentinel)会自动进行故障转移操作,它会将master系统中的一个slave自动生成master,当客户端对已经失效的master时候,这个时候我们的新的master会自动替换到原来失效的master。
redis的主从复制
slave节点初次连接master节点,会发送psync命令并触发全量复制。此时master开启一个后台线程,开始生成一份RDB快照,同时将那些从外面接收到的写命令缓存到缓冲区中。RDB文件生成完毕后,将此文件发送给slave节点,slave先写入磁盘,再从磁盘加载到内存,接着master会将缓冲区中的写命令发送给slave,slave执行写命令并同步数据。如果slave节点和master节点因网络故障断开连接,会自动重连,连接之后master节点会复制缺少的数据给slave节点。