Redis 入门五:主从复制
主要内容:
本篇内容主要讲解 Redis 的主从复制的相关知识,原理以及其他工作模式。
主从复制:
主次复制就是主机数据更新后,根据配置和策略,自动同步到备机,也就是 master(主机)/slaver(备机,从机)机制。其中 master 以写为主,slaver 以读为主。
主从复制作用:
实现读写分离,性能扩展
容灾快速恢复
主从复制一般的操作过程:
通常都是一主多从,也就是一个主机和多个从机。我们以一主二从为例,简要说一下如何操作实现。
首先创建/myredis 的文件夹
复制 redis.conf 配置文件到文件夹中
配置一主二从,创建三个文件
redis6379.conf
redis6380.conf
redis6381.conf
在三个配置文件中写入配置内容
include/myredis/redis.conf
pidfile/var/run/redis6379.pid
port 6379
dbfilename dumb6379.rdb
启动三个 redis 服务器
查看当前主机运行状况 info replication
在从机上执行 slaveof 主机 IP 端口号
主从复制原理:
当从机连接到主机时,从机向主机发送数据同步的消息,主机收到消息后,进行数据持久化,把 rdb 文件发送给从机,从机拿到数据后,进行读取。每次主机进行写操作之后,都会和从机进行数据同步。
复制分为全量复制:所有数据加载到从机中。
也分为增量复制:主机将新的所有收集到的修改命令依次传给从机。
只要是重新连接主机,都会进行一次完全同步(全量复制)
主机挂了怎么办
薪火相传:
拿一主二从来说,如果主机和一个从机之间的通信链路断开了,那这太从机会从别的从机那里获取同步数据。
反客为主:
如果主机挂了,从机会为主机,接替主机的位置,不过这个模式需要用命令进行手动设置。
那如果主机挂了,操作人员不在现场怎么办,这个时候就来了反客为主的自动版:哨兵模式
哨兵模式(sentinel):
哨兵模式实际上就是反客为主的自动版,可以监控主机是否出现故障,如果故障了,根据投票数自动将从机变为主机。
在原来的主机故障修复后,它会变为新主机的从机工作。
版权声明: 本文为 InfoQ 作者【打工人!】的原创文章。
原文链接:【http://xie.infoq.cn/article/c4b46f317854642dd14b3f436】。文章转载请联系作者。
评论