高可用Redis(八):Redis主从复制

## 1.Redis复制的原理和优化 ### 1.1 Redis单机的问题 #### 1.1.1 机器故障 在一台服务器上部署一个Redis节点,如果机器发生主板损坏,硬盘损坏等问题,不能在短时间修复完成,就不能处理Redis操作了,这就是单机可能存在的问题 同样的,服务器正常运行,但是Redis主进程发生宕机事件,此时只需要重启Redis就可以了。如果不考虑在Redis重启期间的性能损失,可以考虑Redis的单机部署 Redis单机部署出现故障时,把Redis迁移到另一台服务器上,此时需要把发生故障的Redis中的数据同步到新部署的Redis节点,这也需要很高的成本 #### 1.1.2 容量瓶颈 一台服务器有16G内存,此时分配12G内存运行Redis 如果有新需求:Redis需要占用32G或者64G等更多的内存,此时这台服务器就不能满足需求了,此时可以考虑更换一台更大内存的服务器,也可以用多台服务器组成一个Redis集群来满足这个需求 #### 1.1.3 QPS瓶颈 根据Redis官方的说法,单台Redis可以支持10万的QPS,如果现在的业务需要100万的QPS,此时可以考虑使用Redis分布式 ## 2.什么是主从复制 ### 2.1 一主一从模型 一个Redis节点为master节点(主节点),负责对外提供服务。 另一个节点为slave节点(从节点),负责同步主节点的数据,以达到备份的效果。当主节点发生宕机等故障时,从节点也可以对外提供服务 如下图所示 ![](https://img2018.cnblogs.com/blog/1133627/201810/1133627-20181016111620298-521777732.png) ### 2.2 一主多从模型 一个Redis节点为master节点(主节点),负责对外提供服务。 多个节点为slave节点(从节点)。每个slave都会对主节点中的数据进行备份,以达到更加高可用的效果。这种情况下就算master和一个slave同时发生宕机故障,其余的slave仍然可以对外读提供服务,并保证数据不会丢失 当master有很多读写,达到Redis的极限阀值,可以使用多个slave节点对Redis的读操作进行分流,有效实现流量的分流和负载均衡,所以一主多从也可以做读写分离 ![](https://img2018.cnblogs.com/blog/1133627/201810/1133627-20181016111632696-359512209.png) ### 2.3 读写分离模型 master节点负责写数据,同时客户端可以从slave节点读取数据 ![](https://img2018.cnblogs.com/blog/1133627/201810/1133627-20181016111645752-2028603551.png) ## 3.主从复制作用 对数据提供了多个备份,这些备份数据可以大大提高Redis的读性能,是Redis高可用或者分布式的基础 ## 4.主从复制的配置 ### 4.1 slaveof命令 ![](https://img2018.cnblogs.com/blog/1133627/201810/1133627-20181016111657983-2035333425.png) 取消复制 ![](https://img2018.cnblogs.com/blog/1133627/201810/1133627-20181016111708247-875334508.png) ### 4.2 配置文件配置 修改Redis配置文件`/etc/redis.conf` slaveof
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值