redis哨兵模式,自动主备切换,springBoot配置连接

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

redis哨兵模式自动主备切换springBoot配置连接

步骤4个redis实例为例

  1. 安装redis
  2. 把4个redis实例配置成一主三从
  3. 启动4台redis
  4. 启动redis-sentinelredis自带的哨兵健康检测自动主备切换
  5. 修改springBoot配置

安装redis(服务器有外网)

# cd进入安装目录现在redis包
wget http://download.redis.io/releases/redis-5.0.6.tar.gz 
# 解压
tar xzvf redis-5.0.6.tar.gz 
# cd redis-5.0.6 进入解压后的目录
cd redis-5.0.6
# make
make
# 进入src目录 安装 【PREFIX=/sms/redis】为安装目录
cd src
make install PREFIX=/sms/redis
# 将redis.conf和sentinel.conf文件 cp到 【PREFIX=/sms/redis/bin】目录
cp redis.conf /sms/redis/bin
cp sentinel.conf /sms/redis/bin
# 在 /sms/redis/bin目录下创建log目录存放redis的日志redis-sentinel的日志
mkdir /sms/redis/bin/log

# 修改redis的配置文件后台启动、设置密码、允许其他机器连接、主从配置
# 后台启动
将daemonize no 改成daemonize yes
# 找到 requirepass foobared 放开注释 修改密码
requirepass 123456
# 允许其他机器连接 注释【bind 127.0.0.1】
1. # bind 127.0.0.1
2. 把 【protected-mode yes】改为 【protected-mode no】
#指定master主服务器(四个redis实例选一个作为主)注意有关slaveof的配置只是配置从服务器而主服务器不需要配置
slaveof 192.168.11.128 6379
#redis密码 主从都需要配置 因为主挂了后 重启后变为从 则需要master的auth
masterauth 123456
# 配置日志目录
logfile '/sms/redis/log/redis.log'

# 启动redis redis-server和redis.conf同一个文件夹 进入 /sms/redis/bin目录
./redis-server redis.conf

配置redis哨兵

redis-sentinel可以启动四个实例也可以启动多个可以防止redis-sentinel挂掉导致redis不可用

redis-sentinel健康检测和主备切换流程默认端口26379

  1. 启动四个redis哨兵每个哨兵会检测每个redis实例
  2. 当检测到master实例不可用redis哨兵会自动选举一个slave节点作为新的master
  3. springBoot项目连接redis时只需配置redis-sentinel的信息即可redis-sentinel会返回redis-master实例的信息master挂掉后返回新的mater信息
# 配置文件已复制到 '/sms/redis/bin' 目录中
vim sentinel.conf
#禁止保护模式
protected-mode no
#后台启动
daemonize yes
# 日志目录
logfile '/sms/redis/log/sentinel.log'
#配置监听的主服务器这里 sentinel monitor 代表监控
#mymaster代表服务器名称可以自定义
#192.168.11.128代表监控的主服务器
#6379代表端口
#2代表只有两个或者两个以上的哨兵认为主服务器不可用的时候才会做故障切换操作
sentinel monitor mymaster 192.168.11.128 6379 2
#sentinel auth-pass 配置redis实例密码
#mymaster服务名称
#123456 Redis服务器密码
sentinel auth-pass mymaster 123456

#启动 cd /sms/redis/bin
./redis-sentienl sentinel.conf

springBoot项目连接redis

spring:
  redis:
    database: 0
    password: 123456
    sentinel:
      master: mymaster
      # 四个redis-sentinel
      nodes: 192.168.1.100:26379,192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379,192.168.1.104:26379
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Springredis