redis 主從同步

修改redis.conf配置文件redis

vi redis.conf安全

在編輯模式下 輸入  /slaveof 來搜索服務器

將slaveof啓用 即 將#刪除架構

依次配置全部 slave 並將進程 kill 掉 重啓性能

查看主從信息spa

 

 

redis 集羣主從同步的簡單原理blog

  Redis的複製功能是基於內存快照的持久化策略基礎上的,也就是說不管你的持久化策略選擇的是什麼,只要用到了Redis的複製功能,就必定會有內存快照發生。隊列

  當Slave啓動並鏈接到Master以後,它將主動發送一個SYNC命令( 首先Master會啓動一個後臺進程,將數據快照保存到文件中[rdb文件] Master 會給Slave 發送一個進程

Ping命令來判斷Slave的存活狀態 當存活時 Master會將數據文件發送給Slave 並將全部寫命令發送到Slave )。內存

  Slave首先會將數據文件保存到本地 以後再將 數據 加載到內存中。

  當第一次連接 或者是 故障後 從新鏈接 都會先判斷Slave的存活狀態 在作所有數據的同步  , 以後只會同步Master的寫操做(將命令發送給Slave)

問題:

  當  Master 同步數據時 若數據量較大 而Master自己只會啓用一個後臺進程 來對多個Slave進行同步 , 這樣Master就會壓力過大 , 並且Slave 恢復的時間也會很慢!

redis 主從複製的優勢:

      (1)在一個Redis集羣中,master負責寫請求,slave負責讀請求,這麼作一方面經過將讀請求分散到其餘機器從而大大減小了master服務器的壓力,另外一方面slave專一於提供

讀服務從而提升了響應和讀取速度。

  (2)在一個Redis集羣中,若是master宕機,slave能夠介入並取代master的位置,所以對於整個Redis服務來講不至於提供不了服務,這樣使得整個Redis服務足夠安全。

  (3)水平增長Slave機器能夠提升性能

 

Slave 默認是隻讀的更改:

  Master 能夠 讀寫(Write and Read)  而 Slave只能夠讀(read only默認狀況)也能夠更改  {可是開啓後Slave數據不會向上同步}

 

 

redis 主從同步兩種架構方式:

 

  1》:主從架構

    

 

  2》:主從從架構

 

  

 

  備註:

    由於Slave斷連,重連後仍然會所有同步數據,因此redis2.8版本後,增長了增量複製來解決宕機後從新連接仍然會所有同步!

 

    Master會維護一個環形隊列:

    隊列內存儲:1》:slave鏈接master的id值  2》:slave上一次同步的最後一個命令

    這樣當斷開重連後就不會所有同步,而只會在最後一個命令同步數據!

 

   寫這篇博客是爲了加深理解並將本身瞭解到的知識記錄下來 , 同時在寫本博客的過程當中,借鑑了許多優秀的博客,來完善 , 但願廣大博友批評指正。共同進步!

                                                                                                       2016/12/4

相關文章
相關標籤/搜索