在VMware中安装好三个虚拟机,一主二从
编写配置文件
三个节点分别创建 sentinel.conf 并添加以下配置。
vi /usr/local/redis/conf/sentinel.conf

# 放行所有 IP 限制
bind 0.0.0.0
# 进程端口号
port 26379
# 后台启动
daemonize yes
# 日志记录文件
logfile "/usr/local/redis/log/sentinel.log"
# 进程编号记录文件
pidfile /var/run/sentinel.pid
# 指示 Sentinel 去监视一个名为 mymaster 的主服务器
sentinel monitor mymaster 192.168.10.101 6379 2
# 访问主节点的密码
sentinel auth-pass mymaster 123456
# Sentinel 认为服务器已经断线所需的毫秒数
sentinel down-after-milliseconds mymaster 10000
# 若 Sentinel 在该配置值内未能完成 failover 操作,则认为本次 failover 失败
sentinel failover-timeout mymaster 180000

启动
先启动 3 个 Redis 服务

/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf

再启动 3 个 Sentinel 服务

/usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/sentinel.conf

改造服务,整合 Sentinel
业务代码无需作出任何改变,只需从以下两种方式选择其中一种即可,推荐配置文件方式,简单方便
修改application.yml

spring:
  # Redis
  redis:
    port: 6379 # Redis 服务器端口,哨兵模式下不一定非要配置为主节点,只要是主从环境中任何一个节点即可
    host: 192.168.10.101 # Redis 服务器地址
    timeout: 3000 # 连接超时时间
    password: 123456 # Redis 服务器密码
    # lettuce 连接池
    lettuce:
      pool:
        max-active: 8 # 最大连接数,默认 8
        max-idle: 8 # 最大空闲连接,默认 8
        min-idle: 0 # 最小空闲连接,默认 0
        max-wait: 1000 # 最大连接阻塞等待时间,单位毫秒,默认 -1
    # 哨兵
    sentinel:
      # 主节点名称
      master: mymaster
      # 主从服务器地址
      nodes: 192.168.10.101:26379,192.168.10.102:26379,192.168.10.103:26379

Natcret
1 声望0 粉丝