redis主从复制
redis主从复制
简介
主从复制简介
将master(主节点)中的数据及时有效的复制到slave(从节点)中
特征:一个master拥有多个slave,一个slave只对应一个master
职责:
- master
- 写数据
- 执行写操作,将变化的数据同步到slave
- 读数据(忽略)
- slave
- 读数据
- 写数据(禁止)
单机redis的风险与问题
- 单机故障
- 现象:硬盘故障,系统崩溃
- 本值: 数据丢失,对业务造成严重破坏
- 结论: 放弃redis
- 容量瓶颈
- 现象:内存不足,16G到64G等
- 本质:硬件更不上
- 结论:放弃redis
- 结论
为避免单点故障,准备多台redis相互联通。将数据复制多分副本存 到不同redis,reids连接在一起,本保证数据是同步的。其中一台宕机,其他服务依然可以提供服务,实现高可用,实现数据的冗余备份。
多台服务器连接方案(主从复制的结构)
- 数据提供方:master
- 主服务器,主节点,主库
- 接收数据方:slave
- 从服务器,从节点,从库
- 解决问题
- 数据同步
- 工作
- master数据复制到slave
主从复制的作用
- 读写分离:
- master写,slave读,提高服务器读写负载能力
- 负载均衡:
- 基于主从结构,配合读写分离,由slave分担负载,更具需求改变slave数量,从节点分担读取负载,提高了redis并发和吞吐量。
- 故障恢复:
- 当master出现问题,推举出slave作为master服务,快速恢复故障。
- 数据冗余:
- 实现数据热备份,是持久化之外的的一种数据冗余方式
- 高可用的基础:
- 基于主从可以构建哨兵模式与集群高可用