springboot~redis-cluster动态感应的配置

redis-cluster是一个高可用,可分片的分布式redis集群解决方案,建议使用springboot2.3及以上版本的脚手架,如果是<2.3版本,你需要手动添加LettuceConnectionFactory来实现因为服务器宕机引起的节点感应功能;如果没有添加动态感应,那你的redis-cluster就不是一个高可用的,人家服务器对主,从进行了动态切换,由消费方没有进行链接地址的变更,这是我们不可接受的。

springboot2.3的application.yml相关配置

spring:
   redis:
    database: 0 # 数据库,每个库由16384(0~16383)槽位组成,实现了库的分片
    password: xxx@xxx# 密码
    timeout: 50000 # 连接超时时间
    cluster:
      nodes:
        - 192.168.4.26:6379
        - 192.168.4.26:6380
        - 192.168.4.26:6479
        - 192.168.4.26:6480
        - 192.168.4.26:6579
        - 192.168.4.26:6580
      max-redirects: 3 # 获取失败 最大重定向次数
    lettuce:
      pool:
        max-idle: 10
        max-active: 10
        min-idle: 0
      cluster:
        refresh: # 动态感应
          adaptive: true
          period: 10000

节点变更

  • 主节机挂机
  • 主节点在挂机后,进行了重新选举
  • 新的主节点被选举成功,挂机的节点,重新启动后,变成了从节点
  • springboot在达到失败重试次数和时间间隔后,将从新节点中返回数据
posted @ 2022-10-24 16:54  张占岭  阅读(606)  评论(0编辑  收藏  举报