redis:主從複製

  1. 主從複製

       a,方式一、新增redis6380.conf, 加入  slaveof 192.168.1.111 6379,  在6379啓動完後再啓6380,完成配置;

       b,方式二、redis-server --slaveof 192.168.1.111 6379

       c,查看狀態:info replication

       d,斷開主從複製:在slave節點,執行6380:>slaveof no one

       e,斷開後再變成主從複製:6380:> slaveof 192.168.1.111 6379

       f,數據較重要的節點,主從複製時使用密碼驗證: requirepass

       e,從節點建議用只讀模式slave-read-only=yes, 若從節點修改數據,主從數據不一致       

       h,傳輸延遲:主從一般部署在不同機器上,複製時存在網絡延時問題,redis提供repl-disable-tcp-nodelay參數決定是否關閉TCP_NODELAY,默認爲關閉

參數關閉時:無論大小都會及時發佈到從節點,佔帶寬,適用於主從網絡好的場景,

參數啓用時:主節點合併所有數據成TCP包節省帶寬,默認爲40毫秒發一次,取決於內核,主從的同步延遲40毫秒,適用於網絡環境複雜或帶寬緊張,如跨機房

 

   2,主從拓撲:支持單層或多層

    A,一主一從:用於主節點故障轉移從節點,當主節點的“寫”命令併發高且需要持久化,可以只在從節點開啓AOF(主節點不需要),這樣即保證了數據的安全性,也避免持久化對主節點的影響   

   uploading.4e448015.gif轉存失敗重新上傳取消

 

   B, 一主多從:針對“讀”較多的場景,“讀”由多個從節點來分擔,但節點越多,主節點同步到多節點的次數也越多,影響帶寬,也加重主節點的穩定

    uploading.4e448015.gif轉存失敗重新上傳取消

    

 

C,樹狀主從:一主多從的缺點(主節點推送次數多壓力大)可用些方案解決,

          主節點只推送一次數據到從節點1,再由從節點2推送到11,減輕主節點推送的壓力。

uploading.4e448015.gif轉存失敗重新上傳取消

 

  1. 複製原理

執行slave master port後,

與主節點連接,同步主節點的數據,6380:>info replication:查看主從及同步信息

 

 

uploading.4e448015.gif轉存失敗重新上傳取消

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. 數據同步:

redis 2.8版本以上使用psync命令完成同步,過程分“全量”與“部分”複製

全量複製:一般用於初次複製場景(第一次建立SLAVE後全量)

部分複製:網絡出現問題,從節佔再次連主時,主節點補發缺少的數據,每次 數據增加同步

心跳:主從有長連接心跳,主節點默認每10S向從節點發ping命令,repl-ping-slave-period控制發送頻率

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章