前言
今天来说一下 redis 的集群版的搭建和使用springboot来集成一下redis集群 实现redis的高可用性
开发
我们搭建的集群是真集群版本的 不是伪集群的 所以我们需要准备三台虚拟机 不可能去准备三台电脑吧 当然你有三台电脑也无所谓哦 使用虚拟机软件VMWARE或者其他的都可以 只要能够有三台虚拟机即可 创建完虚拟机之后呢 我们需要给每一台虚拟机上首先安装一下redis哦 记得安装5.x版本哦 本文中使用5.x版本 不用在使用ruby来组建集群了 之前3.0 的 都是需要使用ruby来搭建集群的 无疑麻烦了一些 安装完毕之后就可以配置集群了 安装的教程 在之前redis教程已经说过了哦 拉倒文章最下面 有 wget 安装方式 去看如何安装单机版
安装完毕之后呢 我们就可以来配置集群了
集群搭建
Redis集群节点数量至少6个才能保证组成完整高可用的集群,本文使用3台虚拟机模拟6个节点(用端口区分),其中每台虚机2个节点
我们采用的使 redis cluster 的模式 没有使用哨兵的模式 现在使用较多的也是 cluster 模式了 这种模式以插槽的形式存储值 从3.0就支持了 之前一直流行哨兵模式 这种模式每个节点需要保存全量数据,冗余比较多,而在Redis Cluster模式中,每个分片只需要保存一部分的数据,对于内存数据库来说,还是要尽量的减少冗余。
默认会分配16384个插槽 内部通过具体的算法来计算应该分配到哪个槽中
主机名 地址 端口 端口
server1 192.168.190.129 7001 7004
server2 192.168.190.130 7002 7005
server3 192.168.190.131 7003 7006
第一步
首先创建一个文件夹 在每一台机器上 用来存放我们的redis节点 这里是三台机器 6 个节点 端口号为文件夹名字
第二步
注意我们的LINUX目录是在 /usr/local/redis 下面哦 和我们在讲解redis第一张章时候是一样的
复制 redis-server 以及 redis-cli 和 redis.conf 到 7001 文件夹下面 其他两台机器先不管 先给第一台搞好 之后就是复制替换了
第三步
这一步较为重要 就是来修改我们的配置文件 其中需要修改的地方还是蛮多的
主要修改的配置选项有
- port 700x 端口号
- bind 0.0.0.0 绑定的IP 需要使其它的机器能够访问
- daemonize yes 后台运行模式 不占用前台客户端面板
- protected-mode no 保护模式
- pidfile /var/run/redis_7000.pid pidfile文件对应7000,7001,7002
- cluster-enabled yes 开启集群 把注释#去掉
- cluster-config-file nodes_7000.conf 集群的配置 配置文件首次启动自动生成
- cluster-node-timeout 15000 请求超时 默认15秒,可自行设置
- appendonly yes aof日志开启 有需要就开启,它会每次写操作都记录一条日志
- dir 数据存储位置 默认当前
- requirepass 123465 密码
- masterauth 123456 主节点的密码认证
7001 配置完毕之后需要将其复制到 7004 中 然后将带有7001字样的配置全部换成7004即可
然后相互启动 记得启动需要指定我们修改的配置文件哦
进入到指定文件夹中 进入一下客户端看看
./redis-server ./redis.conf
./redis-cli -a 123456 -h 192.168.190.129 -p 7001
./redis-server ./redis.conf
./redis-cli -a 123456 -h 192.168.190.129 -p 7004
记得需要制定链接的主机和端口哦 red