我們先來了解一下 bridge網絡模式
他會創建一個docker0橋,看完這個我們就會知道redis哨兵機制的端口了。
之后繼續研究redis宕機的解決辦法!
宕機: 服務器停止服務
如果只有一台redis, 肯定會造成數據丟失。
多台reids或者是Redis集群,服務器宕機還有辦法。
1.從的redis宕機怎么解決?
配置主從復制的時候才配置從的redis, 從的會從主的redis中讀取主的redis的操作日志,來達到主從復制。
1.只要把從的redis重新啟動,再和主的進行連接就可以
2.如果從redis上面做數據的持久化,可以直接連接到主的上面,只要實現增量備份
2.主的redis宕機怎么解決
要先確認是否做持久化,若沒有做持久化,重新啟動主的redis就會造成數據丟失。
1.先把從的redis升級為主的redis. 執行slave of one命令
2.原來的主的可以重新啟動,作為從的redis, 連接到主的redis上面做主從復制。
可以使用Redis 提供哨兵 機制來簡化上面的操作。
哨兵的配置:
1. 復制redis中sentinel.conf,根據情況進行配置
#當前Sentinel服務運行的端口 port 26379 #Sentinel服務運行時使用的臨時文件夾 dir /tmp #sentinel連接的主redis, 此redis連接端IP端口是172.17.0.1 6379 #將此redis判斷為失效至少需要1個 Sentinel進程的同意, 只要同意Sentinel的數量不達標,自動failover就不會執行 sentinel monitor master 172.17.0.1 6379 1 #指定了在執行故障轉移時,最多可以由多少個從Redis實例在同步新的主實例,在從Redis實例較多的情況下這個數字越小,同步的時間越長 #完成故障轉移所需的時間就越長 sentinel parallel-syncs master 1 #如果未在18000ms內完成故障遷移,就默認未失敗 sentinel failover-timeout master 180000 #redis的sentinel的日志 logfile "/var/log/sentinel_log.log"
可以使用哨兵搭建高可用服務器,哨兵模式還提供其他功能,比如監控、通知、為客戶端提供配置等。
關於使用哨兵搭建高可用服務器,可以參考https://blog.csdn.net/shouhuzhezhishen/article/details/69221517來實現!
2018-09-05 20:30:11