redis 主從配置(哨兵監控) 以及redis工具類編寫
阿新 • • 發佈:2018-12-25
環境搭建
我是在win10下搭建的,1主2從,2個哨兵
master中增加或修改的配置
bind 192.168.2.101
port 6000 requirepass 123456
slave1中增加或修改的配置
bind 192.168.2.101
port 6001
slaveof 192.168.2.101 6000
masterauth 123456
requirepass 123456slave2中增加或修改的配置
bind 192.168.2.101
port 6002
slaveof 192.168.2.101 6000
masterauth 123456
requirepass 123456
啟動命令 redis-server.exe redis.windows.conf
sentinel1中增加或修改的配置
bind 192.168.2.101
port 26379
sentinel monitor mymaster
192.168.2.101 6000 2sentinel auth-pass mymaster 123456
sentinel2中增加或修改的配置
bind 192.168.2.101
port 26479sentinel monitor mymaster
192.168.2.101 6000 2sentinel auth-pass mymaster 123456
啟動命令redis-server.exe redis.windows.conf --sentinel
檔案目錄結構
編寫工具類以及測試
哨兵模式下pool會一直獲取master節點的連線,如果master掛了,則由哨兵推出新的節點並連線到新的master節點上
執行結果
完整的程式碼
https://github.com/cdy1996/common-util/blob/master/src/main/java/com/cdy/common/util/middleware/redis/JedisSentinelUtil.java
當然我這次只是完成的簡單的主從模式(哨兵),如果遇到資料量更加大時,單獨的主伺服器無法承受時,需要建立redis叢集,
而redis的叢集有很多,如Redis Sharding(主要是通過一致性hash實現資料分片儲存)、中介軟體實現的Redis叢集(Twemproxy、Codis)、Redis叢集的官方方案:Redis Cluster。
具體見https://blog.csdn.net/kingcat666/article/details/78552511