redis(集群一)主從複製

2022-09-13 08:42:08 字數 1863 閱讀 2615

主從複製工作流程從伺服器連線主伺服器,傳送sync命令。

主伺服器接收到sync命令後,開始執行bgs**e命令生成rdb檔案並使用緩衝區記錄此後執行的所有命令

主伺服器bgs**e執行完成後,向所有伺服器傳送快照檔案,並在傳送期間繼續記錄被執行的寫命令

從伺服器接收到快照資料後丟棄所的有舊資料,載入收到以的快照

主伺服器快照傳送完畢後開始向從伺服器傳送緩衝區中的寫命令

從伺服器完成對快照的載入,開始接收命令請求,並執行來自主伺服器緩衝區的寫命令(從伺服器初始化完成)

主伺服器每執行乙個寫命令就會向從伺服器傳送相同的寫命令,從伺服器接收並執行收到的寫命令(從伺服器初始化完成後的操作)

主從複製優缺點:

優點:

支援主從複製,主機會自動將資料同步到從機,可以進行讀寫分離

為了負載master的讀操作壓力,sl**e伺服器可以為客戶端提供唯讀操作的服務,寫服務仍然必須由master來完成

sl**e 同樣可以接受其它sl**e的連線和同步請求,這樣可以有效的分載master 的同步壓力

master是以非阻塞的方式為sl**e提供服務,所以master-sl**e同步期間,客戶端仍然可以提交查詢和修改請求。

sl**e server同樣是以非阻塞的方式未完成資料同步,在同步期間,如果有客服端提交查詢請求,redis則返回同步之前的資料。

缺點:

redis 不具備自動容錯和恢復功能,主機和從機的宕機都會導致客戶端部分讀寫請求的失敗,需要等待機器重啟或手動切換前端的ip才能恢復

主機宕機,宕機前有部分資料未能同步到從機,切換ip後還會引起資料不一致的問題降低了系統的可用性。

一主二僕 a(b、c) 乙個master兩個sl**e

薪火相傳(去中心化)a - b - c ,b既是主節點(c的主節點),又是從節點(a的從節點)

反客為主(主節點down掉後,手動操作公升級從節點為主節點)

1、節點redis不需要修改配置

主節點伺服器ip:192.168.244.128

2、改從節點配置

新增配置:sl**eof 192.168.244.128 6379

從節點ip:192.168.244.130   192.168.244.131

3、分別重啟主從伺服器,驗證

主伺服器info replication:

顯示有兩個從節點,主節點set值 ,從節點可以get 得到

從伺服器info replication:

如上配置: 192.168.244.130 新增配置: sl**eof 192.168.244.128 6379

192.168.244.131 新增配置: sl**eof 192.168.244.130 6379

此時從節點還是唯讀的

公升為主節點後可讀可寫。

參照:

Redis集群 主從複製

從伺服器向主伺服器傳送sync 同步 請求。主伺服器收到這個請求之後,這個時候就不是單執行緒啦 開始生成rdb 快照檔案 並且使用緩衝區記錄之後所有的寫操作命令。快照檔案生成完畢之後,主伺服器,向從伺服器傳送快照檔案,這期間也繼續記錄執行過的寫命令。從伺服器接收快照檔案完畢之後,丟棄舊資料,載入快照...

Redis集群(主從複製)

主從複製 主從複製原理 redis集群中有很多redis伺服器,這些reids伺服器分為主伺服器和從伺服器。從伺服器會向主伺服器傳送命令 sync命令。主伺服器接收到sync命令後,開始執行gbs e命令生成rdb檔案 快照檔案 並使用緩衝區來記錄此後的寫命令 主伺服器gbs e命令執行完畢後,會將...

Redis 主從複製

主從複製的開啟,完全是在從節點發起的,不需要我們在主節點做任何事情,從節點開啟主從複製,有3種方式 主從複製主要可分為 連線建立階段 即準備階段 資料同步階段 命令傳播階段 主要作用是在主從節點之間建立連線,為資料同步做好準備 從節點資料的初始化,具體執行的方式是 從節點向主節點傳送psync命令 ...