这是我参与2022首次更文挑战的第4天,活动详情查看2022首次更文挑战
Redis主从复制
复制是高可用Redis的基础,哨兵和集群都是在复制基础上实现高可用的。复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。 缺陷:故障恢复无法自动化,写操作无法负载均衡;存储能力受到单机的限制。
Redis哨兵
在复制的基础上,哨兵实现了自动化的故障恢复。 缺陷:写操作无法负载均衡,存储能力受到单机的限制。
Redis持久化触发条件
RDB持久化的触发分为手动触发和自动触发两种。
- Redis开启AOF
- Redis服务器默认开启RDB,关闭AOF,要开启AOF,需要在配置文件中配置 appendonly yes
Redis主从同步如何实现?
主从的原理是一主多从,主数据库可读写,从库只可读,主从模式实现读写分离,主数据库仅写。
当slave启动后会向master发送sync命令,master节点收到从数据库的命令后通过bgsave保存快照(RDB持久化),并且期间的执行些命令会被缓存起来。然后master会将保存的快照发送给slave,并且继续缓存期间的写命令。slave收到主数据库发送过来的快照就会加载到数据库中,最后master将缓存的命令同步给slave,slave收到命令后执行一遍,这样master与slave数据就保持一致了。
哨兵模式
哨兵模式原理:
哨兵模式是主从的升级版,因为主从的出现故障后,不会自动恢复,需要人为干预 主从的基础上,实现哨兵模式就是为了监控主从的运行状况,对主从的健壮进行监控,只要有异常就发出警告,对异常状况进行处理。
哨兵模式优点:
(1)监控:监控master和slave是否正常运行,以及哨兵之间也会相互监控。
(2)自动故障恢复:当master出现故障时,会自动选举一个slave作为master替换。