redis 的主從模式哨兵模式


原理理解

1,哨兵的作用就是檢測redis主服務的狀態,如果主服務器掛了,從服務就自動切換為主服務器,變為master。哨兵是一個獨立的進程,作為進程,它會獨立運行。其原理是哨兵通過發送命令,等待Redis服務器響應,從而監控運行的多個Redis實例。

2,一般來說,主服務可以寫入,從服務器只能讀。因為是從服務器向主服務器同步數據,如果從服務器可以寫入數據的話,兩台服務器的數據就不會同步了。但是可通過 replica-read-only 參數修改

3,從節點只能有一個主節點,當再次指定主節點時,從節點會刪除舊主節點的數據。

4,從節點去掉主節點后,從節點會重新變成主節點。 命令:slaveof no one 改變從節點狀態,slaveof host port 指定主服務實例  。#slaveof本身是異步命令,執行slaveof命令時,節點只保存主節點信息后返回

5,主節點默認是立即將寫命令同步到從節點,當網絡較差時可開啟 repl-disable-tcp-nodelay 參數,這樣redis會合並tcp包,從而減少帶寬占用。
6,為了安全,主節點可配置 requirepass 參數,這樣從節點在連接的時候就需要密碼驗證。

【主配置文件參數】redis.conf

#bind 127.0.0.1 屏蔽這段,表示允許遠程訪問
daemonize yes #默認為no,修改為yes,表示啟動時在后台運行
requirepass 123456 #設置下密碼,123456為密碼

 

【從服務器文件參數】redis.conf

slaveof 39.96.203.220 6379 #表示連接主服務器
masterauth password #主服務器密碼,如果主服務有密碼的話,這里一定要配置

 

【哨兵文件配置】sentinel.conf(一般配置在從節點上)

1 # 禁止保護模式 2 protected-mode no 3 # 配置監聽的主服務器,這里sentinel monitor代表監控,mymaster代表服務器的名稱,可以自定義,192.168.11.128代表監控的主服務器,6379代表端口,2代表只有兩個或兩個以上的哨兵認為主服務器不可用的時候,才會進行failover操作。 4 sentinel monitor mymaster 192.168.11.128 6379 2
5 # sentinel author-pass定義服務的密碼,mymaster是服務名稱,123456是Redis服務器密碼 6 # sentinel auth-pass <master-name> <password>
7 sentinel auth-pass mymaster 123456

 


免責聲明!

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



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