redis(集羣一)主從複製

一、主從複製原理

主從複製工做流程html

  1. 從服務器鏈接主服務器,發送SYNC命令。
  2. 主服務器接收到SYNC命令後,開始執行bgsave命令生成RDB文件並使用緩衝區記錄此後執行的全部命令
  3. 主服務器bgsave執行完成後,向全部服務器發送快照文件,並在發送期間繼續記錄被執行的寫命令
  4. 從服務器接收到快照數據後丟棄所的有舊數據,載入收到以的快照
  5. 主服務器快照發送完畢後開始向從服務器發送緩衝區中的寫命令
  6. 從服務器完成對快照的載入,開始接收命令請求,並執行來自主服務器緩衝區的寫命令(從服務器初始化完成)
  7. 主服務器每執行一個寫命令就會向從服務器發送相同的寫命令,從服務器接收並執行收到的寫命令(從服務器初始化完成後的操做)

主從複製優缺點:前端

優勢:redis

  1. 支持主從複製,主機會自動將數據同步到從機,能夠進行讀寫分離
  2. 爲了負載master的讀操做壓力,slave服務器能夠爲客戶端提供只讀操做的服務,寫服務仍然必須由master來完成
  3. slave 一樣能夠接受其它slave的鏈接和同步請求,這樣能夠有效的分載master 的同步壓力
  4. master是以非阻塞的方式爲slave提供服務,因此master-slave同步期間,客戶端仍然能夠提交查詢和修改請求。
  5. slave server一樣是以非阻塞的方式未完成數據同步,在同步期間,若是有客服端提交查詢請求,redis則返回同步以前的數據。

缺點:服務器

  1. redis 不具有自動容錯和恢復功能,主機和從機的宕機都會致使客戶端部分讀寫請求的失敗,須要等待機器重啓或手動切換前端的IP才能恢復
  2. 主機宕機,宕機前有部分數據未能同步到從機,切換IP後還會引發數據不一致的問題下降了系統的可用性。
  3. redis較難支持在線擴容,在集羣容量達到上限時在線擴容變得複雜。

二、主從搭建

主從複製的經常使用的幾種方式

  1. 一主二僕 A(B、C) 一個Master兩個Slave
  2. 薪火相傳(去中心化)A - B - C ,B既是主節點(C的主節點),又是從節點(A的從節點)
  3. 反客爲主(主節點down掉後,手動操做升級從節點爲主節點)

1)一主二僕 A(B、C) 一個Master兩個Slave

一、節點redis不須要修改配置 spa

主節點服務器IP:192.168.244.1283d

二、改從節點配置server

添加配置:slaveof 192.168.244.128 6379htm

從節點IP:192.168.244.130   192.168.244.131blog

三、分別重啓主從服務器,驗證get

主服務器info replication:

image

顯示有兩個從節點,主節點set值 ,從節點能夠get 獲得

從服務器info replication:

image

2)薪火相傳(去中心化)A - B – C

如上配置: 192.168.244.130 添加配置: slaveof 192.168.244.128 6379

               192.168.244.131 添加配置: slaveof 192.168.244.130 6379

3)反客爲主(一僕二主模式)

一、關閉主節點後從節點info replication:

image

此時從節點仍是隻讀的

二、執行命令slaveof no one 升爲主節點:

image

升爲主節點後可讀可寫。

參照:http://www.javashuo.com/article/p-wscvvdqc-bk.html

        http://www.javashuo.com/article/p-dryzgtmh-bb.html

相關文章
相關標籤/搜索