redis主从复制
redis主服务器负责写,并且同步到从服务器,从服务器不可以更改数据,只负责读服务。因为业务主要就是读。
主从复制的主要作用
- 主要实现数据的热备份,数据冗余
- 故障恢复 如果主服务器宕机,那么会迅速更换从服务器为新的主机
- 负载均衡
哨兵模式
假如主从服务器有一台宕机我们手动去配置主服务器,会很不方便,哨兵模式的作用就是自动选取主服务器,也就是选老大的方式
主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。
哨兵的作用:
通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。
当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机。
多哨兵模式
假设主服务器宕机,哨兵1先检测这个结果,系统并不会马上进行failover仅仅是哨兵1 认为不可用,这个现象叫做主观下线,如果后面的哨兵也检测到不可用后,那么采取投票方式,进行failover故障转移切换成功后,通过发布订阅者模式,改变主服务器。并且改变哨兵监控的服务器切换主机,这个过程叫做客观下线
优点
- 主从复制优点都有。
- 主从可以切换高可用,故障可以转移
- 哨兵就是主从模式的升级手动到自动更加强大
缺点
redis在线扩容十分麻烦一旦集群容量达到上限
实现哨兵模式很麻烦