redis宕機如何解決?如果是項目上線的宕機呢?


我們先來了解一下  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


免責聲明!

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



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