主从复制
为了避免机器出现故障,我们需要将数据复制多份部署在多台不同的服务器上,即使有一台服务器出现故障其他服务器依然可以继续提供服务。
实现功能
- 提高redis可用性
- 用作读写分离,主提供写,从提供读。
- 多个从节点可以用作数据备份,可以用于redis内存数据恢复和防止数据丢失
架构图
实现步骤
1.准备机器和安装redis
首先在一台虚拟机上安装好redis,并在redis.conf配置文件中给bind 127.0.0.1
加上注释,然后复制两台机器。
并三台机器分别配置好ip地址:
Redis x20:192.168.48.20
Redis x21:192.168.48.21
Redis x22:192.168.48.22。
将Redis x20作为主机,其他两台机器作为从机。
2.从机配置
在redis.conf中添加
slaveof 192.168.48.20 6379
3.查看效果
在主机上运行
redis-cli
进入客户端,输入info replication
查看效果。至此主从复制架构已经配置成功了!在主机写入数据时,从机也能获取数据
总结
- 一个master可以有多个slave,一个slave只能有一个master
- 数据流向是单向的,master到slave
- 当从机没开机时,给主机里写入一条数据,从机开机后也能同步此数据
- 当主机宕机了,从机还是从机。当主机启动后,主机任然是主机
主从复制的缺点
- 当主机宕机后,则不能提供写入操作,需要人工配置将从机变为主机(slaveof no one)
- 一台主机的写入能力和存储能力有限
参考资料
https://www.bilibili.com/video/BV1J4411x7U1?from=search&seid=1483198651093821370
https://www.bilibili.com/video/BV1jD4y1Q7tU?t=23&p=29