redis集群拓撲結構自動更新


背景

  redis集群的時候,有一個master節點掛機了。

  springboot中調用redis的時候,會測試連接每一個node節點。

  這時候就會報錯,連不上XX.XX.XX.XX:port(ip:port)。

原因

  redis集群采用了默認的luttuce連接池技術。

  (lettuce和jedis pool都是一種連接redis的池化方式,

  springboot中構建RedisConnectionFactory bean的時候,

  需要兩個configure 參數:pool相關和redis cluster相關)

  lettuce連接redis集群的時候,默認不會改變redis集群的拓撲結構

  redis配置的節點中,一個掛機了,但是集群拓撲結構沒有更新,

  lettuce維持有問題的拓撲機構,所以報錯,所以需要更新rediscluster拓撲結構。

  --及時更新拓撲結構

修復手段

  擴展lettuce connection factory 相關的bean。

  讓這個bean及時更新redis集群的拓撲結構,就是lettuce連接池不維持掛機的節點。

解決問題參考文檔

lettuce官文:

https://lettuce.io/core/release/reference/index.html#clientoptions.cluster-specific-options 

網上同樣案例(如果你的redis集群設置了密碼,這個參考中就需要設置密碼):

https://my.oschina.net/shichangcheng/blog/3135417


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM