Redis-集群搭建

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

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

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

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

1.常见的Redis集群架构

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

星型架构:

线型架构:

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

2.Redis主从复制的原理


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

3.集群配置方法

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

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


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

将端口号改为6380。

修改pid文件。

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

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

设置从服务器为只读。

然后修改redis6381.conf。

关闭rdb和aof持久化功能:

修改slaveof配置:

同样设置为readonly

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

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

在Linux下使用`redis-cli`搭建Redis集群通常不是直接操作的,因为`redis-cli`主要是用于交互式地测试和管理单个Redis实例。实际上,Redis集群的部署应该通过Redis服务器自身的`redis.conf`文件以及一些高级特性,例如`redis-cluster`模块,来进行配置和管理。 以下是基本步骤: 1. **安装Redis**:确保在所有节点上安装了Redis,并选择包含`redis-cluster`模块的版本。 2. **编辑配置文件**:在每台服务器的`redis.conf`文件中,启用`cluster-enabled`和`cluster-config-file`配置,设置`cluster-config-file`指向一个共享文件,用于记录节点信息。 ```bash cluster-enabled yes cluster-config-file nodes.conf ``` 3. **启动Redis服务器**:添加`--cluster`标志启动服务器,此时Redis会自动进入集群模式。 ``` redis-server --cluster --cluster-config-file nodes.conf ``` 4. **配置`nodes.conf`**:手动编写或由`redis-cli`生成`nodes.conf`,列出集群的节点信息,包括节点IP地址、端口、槽位分配等。 5. **初始化集群**:在所有节点上分别运行`redis-cli`的`CLUSTER ADDSLOTS`命令,按照配置的槽位分配给各个节点。 6. **验证集群**:使用`redis-cli`的`CLUSTER SLOTS`命令确认槽位已被正确分配。 请注意,这只是一个简化的指南,实际部署时可能涉及更多细节,比如网络连接的稳定性、故障转移机制、负载均衡等。对于复杂场景,推荐使用专门的运维工具,如Redis的官方集群监控工具`redis-cli monitor`,或者第三方可视化管理工具如Redis Commander。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值