1、简介
在 Redis 中,主从复制就是多个节点进行数据同步,在这些节点中,有 Master 和 slave 两个角色,Master 以写为主,slave 以读为主,当 Master 数据变化的时候,会自动将新的数据同步到其他的 slave 库,实现读写分离,容灾备份,数据恢复等功能。
2、主从复制具体实现
2.1、Master 节点的配置
Master 配置了密码,slave 要想与Master 节点进行连接,需要配置 masterauth 参数。
注:masterauth 参数配从不配主。
# 1、配置密码
requirepass 123456
2.2、slave 节点配置
# 1、配置访问master权限
masterauth 123456
# 2、配置拜哪个节点为master
replicaof 主库ip 主库端口
启动顺序:先启动 master ,然后再启动 slave。通过 info replication 命令查看节点主从信息。
3、主从复制几种情况说明
1)、master 宕机,slave 会等待 master 重启,不会自动从 slave 中挑选出 master 代替宕机的。
2)、master 宕机,重启后依然还会保持之前的集群信息。
3)、主从复制缺点是无法自动选择出 master,因此在 master 宕机,整个集群使无法写入数据的,需要人工干预,指定master。
4)、slave 可以成为下一个 slave 的主,形成链式主从。
4、命令行方式配置主从复制
命令行配置只对当前生效,服务重启之后就失效了。
# 1、配置主从关系
slaveof 主库ip 端口
# 2、停止同步其他数据库,成为主数据库
slaveof no one
5、总结
本文介绍 Redis 主从复制实现高可用,但是,这种架构模式下,master 节点不能够自动选举出来,造成一定的不可靠性,为了解决这个问题,引入哨兵机制。而哨兵机制需要有多个哨兵来投票选举出master,实现架构复杂度高。后续将介绍一种常用的高可用架构模式--集群模式。
本人是一个从小白自学计算机技术,对运维、后端、各种中间件技术、大数据等有一定的学习心得,想获取自学总结资料(pdf版本)或者希望共同学习,关注微信公众号:it自学社团。后台回复相应技术名称/技术点即可获得。(本人学习宗旨:学会了就要免费分享)