springboot~redis-cluster動態感應(ying)的配(pei)置
redis-cluster是一(yi)個高可用(yong),可分(fen)(fen)片的分(fen)(fen)布式redis集群解(jie)決方(fang)案,建議(yi)使用(yong)springboot2.3及以上(shang)版本的腳手架,如果(guo)是<2.3版本,你(ni)需(xu)要手動(dong)添(tian)加(jia)LettuceConnectionFactory來實現(xian)因為(wei)服(fu)務器宕機引起(qi)的節點(dian)感(gan)(gan)應功能;如果(guo)沒有(you)添(tian)加(jia)動(dong)態感(gan)(gan)應,那(nei)你(ni)的redis-cluster就不是一(yi)個高可用(yong)的,人家(jia)服(fu)務器對主,從進行了動(dong)態切(qie)換(huan),由消費方(fang)沒有(you)進行鏈接地址的變更,這是我(wo)們不可接受的。
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在達到失敗重試次數和時間間隔后,將從新節點中返回數據




