1. 程式人生 > 其它 >redis主從同步收到以下引數影響

redis主從同步收到以下引數影響

repl-ping-slave-period主從心跳ping的時間間隔。預設10 repl-timeout 從節點超時時間。預設60 repl-backlog-size 主節點儲存操作日誌的大小。預設1M repl-backlog-ttl 主節點儲存操作日誌的時間。預設3600秒 client-output-buffer-limit 這個引數分為3部分,第二部分涉及slave。表示主節點輸出給從節點的快取(output-buffer)大小。預設是:256M 64M 60秒。意思是:如果output-buffer>256M則從節點需要重新全同步,如果256>output-buffer>64且持續時間60秒,則從節點需要重新全同步。 主從同步的健康監控項(info Replication ): 主節點: master_repl_offset 主節點backlog偏移量 slave0: offset 從節點backlog偏移量 master_repl_offset-offset master_repl_offset與offset的差量為延遲backlog 從節點: master_last_io_seconds_ago 從節點超時時間 從網路斷開到恢復後。slave redis 重新連結上主庫。判斷是否需要做全同步,或者是增量恢復的流程圖如下: 1.repl-timeout 從節點超時時間。超時了會怎樣? 超時了,從節點會直接重新同步一份主節點的完整資料。沒有超時,則根據其他引數還可能同步增量資料而已。 2.client-output-buffer-limit 這個引數分為3部分,第二部分涉及slave。表示主節點輸出給從節點的快取(output-buffer)大小。緩衝區裡放的是什麼? 這個引數針對有從庫的主節點,output-buffer緩衝區裡放的是主庫待同步給從庫的操作資料。 3.repl-backlog-size 主節點儲存操作日誌的大小。這個和client-output-buffer-limit有什麼關聯關係嗎? 針對有從庫的主節點,repl-backlog-size 設定主節點快取操作資料的可用大小。如果網路阻塞,主節點操作資料未同步給從節點而積累在緩衝區,這個緩衝區大小超過repl-backlog-size。網路恢復之後,slave節點就必須重新從主節點同步一份完整資料。 client-output-buffer-limit 和repl-backlog-size沒有什麼緊密關聯。 redis 4.0從節點需要停止一段時間的時候,可以設定repl-backlog-ttl 為0 。不釋放backlog的內容,這樣啟動slave的時候可以部分同步。當然與repl-backlog-sizeclient-output-buffer-limit的大小也有關