Redis-集群搭建

在生产环境中,如果用到了Redis存储数据,那么就不可能让Redis运行在单台服务器上,而是需要搭建Redis主从复制集群。这样做的好处是:

主从备份,防止主机宕机导致数据丢失。

完成读写分离,分担主服务器的读写压力。

任务分离,例如将备份和计算工作让从服务器完成。

1.常见的Redis集群架构

常见的Redis架构有两种,如下图:

星型架构:

Redis-集群搭建_第1张图片

线型架构:

Redis-集群搭建_第2张图片

采用线型结构的好处是当Master宕机后,可以很方便的切换到Slave1上做为Master。

2.Redis主从复制的原理

Redis-集群搭建_第3张图片

如上图,当slave服务器配置好启动后,他会主动连接到master服务器,然后master会将自己的所有数据dump成rdb发送给slave,因为rdb操作有一定的时间,在这段时间内在master上新产生的操作会记录在aof日志中。当rdb发送完成后,会将aof再次同步给slave。

3.集群配置方法

Redis的集群配置类似于MySQL,但比MySQL的主从复制架构配置要简单很多。通过以下步骤就可以完成。下面的例子是在一台服务器上进行Redis集群部署:

复制redis.conf配置文件,两个slave运行在6380和6381端口上。

Redis-集群搭建_第4张图片

修改redis6380.conf配置文件,修改一下内容:

将端口号改为6380。

修改pid文件。

开启slave上的rdb持久化功能。

Redis-集群搭建_第5张图片

开启slave作为6379默认端口上的Redis的Slave。

设置从服务器为只读。

然后修改redis6381.conf。

关闭rdb和aof持久化功能:

修改slaveof配置:

Redis-集群搭建_第6张图片

同样设置为readonly

修改master的配置文件,关闭rdb持久化,因为我们已经在6380的slave上开启了rdb,因此主服务器就没有必要再开启。

至此,一主二从的Redis集群就搭建完毕了,分别启动6379,6380,6381三个端口上的redis服务,可以在6379服务器上进行操作然后到两台从服务器上观察结果是否已经同步到从服务器上。

你可能感兴趣的:(Redis)