linux中redis cluster搭建

0x1 使用场景

从之前介绍的哨兵模式可以知道,哨兵模式的好处如下:

  • 自动化故障检测和自动故障转移
  • 自动化的主备切换
  • 集中的配置管理

这些优点使得哨兵模式成为了一个高可用性和可靠性较强的 Redis 部署方案。

但是仍然存在一个问题就是,哨兵模式做好了主备份切换,但是还是只有一个master,也就是存储的内存和写的上线取决于master的情况,如果说只是几G的数据,那这种方案没有问题,但是如果是几百G的数据,普通的redis或者哨兵模式都没有办法满足这个场景需求了,需要一个分布式方案。

Redis Cluster是Redis提供的分布式解决方案,它能够将多个Redis节点组合成一个集群,提供高性能和高可用性的数据存储服务。Redis Cluster的作用主要体现在以下几个方面:

  1. 分布式存储:Redis Cluster将数据分布在多个节点上,每个节点只负责一部分数据的存储和访问,从而实现了数据的分布式存储,提高了存储容量和吞吐量。
  2. 高可用性:Redis Cluster通过使用多个节点来提供服务,避免了单点故障的风险,即使某个节点发生故障,整个集群仍能够继续提供服务,保证了服务的高可用性。
  3. 高性能:Redis Cluster利用多个节点并行处理请求,从而提高了读写性能。此外,Redis Cluster还支持分片,将大的数据集分成多个小的数据集,每个节点只存储其中的一部分数据,从而提高了读写速度。
  4. 自动数据平衡:Redis Cluster会自动进行数据平衡,将数据均匀地分布在各个节点上,从而避免了节点负载不均的问题,保证了服务的可靠性和稳定性。

0x2 配置搭建

我们在单一机器上做这个实验,需要搭建6个redis实例(3主3从)通过不同的端口进行区分

ip port
127.0.0.1 7001
127.0.0.1 7002
127.0.0.1 7003
127.0.0.1 7004
127.0.0.1 7005
127.0.0.1 7006

首先得安装redis

sudo apt-get install -y redis

然后修改下redis配置文件名称

cd /etc/redis
cp redis.conf redis-cluster-7001.conf
cp redis.conf redis-cluster-7002.conf
cp redis.conf redis-cluster-7003.conf
cp redis.conf redis-cluster-7004.conf
cp redis.conf redis-cluster-7005.conf
cp redis.conf redis-cluster-7006.conf

修改redis-cluster-*conf

// 改成对应端口
port 7001 
// 安全模式关闭
protected-mode no
// 开启 cluster
cluster-enabled yes
// 不同实例不同名称
cluster-config-file nodes-7001.conf

启动redis实例

redis-server redis-cluster-7001.conf
redis-server redis-cluster-7002.conf
redis-server redis-cluster-7003.conf
redis-server redis-cluster-7004.conf
redis-server redis-cluster-7005.conf
redis-server redis-cluster-7006.conf

通过命令行创建redis集群

redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1

这里需要几秒钟创建完成,然后就可以验证了。

0x3 验证

首先连接

// 必须带-c
redis-cli -p 7001 -c 
127.0.0.1:7001> set name1 111
-> Redirected to slot [12933] located at 127.0.0.1:7003
OK
127.0.0.1:7003>

可以看到在设置缓存的时候跳到7003保存了,说明已经配置成功,还有一些扩容和缩容的操作可以自己探索下,当做课后作业。

你可能感兴趣的:(redis,数据库,缓存)