Redis7.x安裝系列教程(二)主從部署&原理詳解
1、什麼是主從複製
主從複製是指將一臺Redis伺服器的資料,複製到其他的Redis伺服器上。前者稱為主節點(master),後者是從節點(slave),資料的複製是單向的,只能是從主節點到從節點。每臺Redis伺服器未修改配置前都是主節點,一個主節點可以0~N個從節點,但一個從節點只能對應一個主節點。
1.1、主從複製的作用
- 資料冗餘: 主從複製實現資料的熱備份,是持久化之外的一種資料冗餘方式。
- 故障恢復: 當主節點出現問題時,可以由從節點提供服務,實現快速故障恢復,是一種服務的冗餘。
- 負載均衡: 在主從複製基礎上,配合讀寫分離,由主節點提供寫服務,從節點提供讀服務,分擔伺服器負載。適合讀多寫少的場景,多個從節點分擔讀負載,提高Redis伺服器的併發量。
- 高可用基石: 主從複製是哨兵和叢集實施的基礎。
1.2、整體架構圖
1.3、主從複製的缺點
- 複製延時,訊號衰減
- 所有的寫操作都在master,再同步更新給slave,機器同步會有一定的延遲,
- 當系統繁忙時,延遲問題會更嚴重,
- 而且隨著slave機器數量增加,延遲問題也會加重。
- master掛了無法自動重選
- 預設情況,master掛了不會從slave自動選出一個master,
- 每次都要人工干預。(也就有哨兵、叢集的出現)
2、環境準備&部署說明
環境準備參考《Redis7.x安裝系列教程(一)單機部署》
本文以1主2從的方式來搭建,也為哨兵部署做前期準備。
主服務:192.168.242.41
從服務1:192.168.242.42
從服務2:192.168.242.43
部署步驟說明:
- 以單機redis-os0克隆出redis-os1-master,redis-os2-slave1。
- 修改slave1的配置,啟動檢視資訊,確認主從配置是否生效。
- 以slave1克隆出slave2,redis配置無需修改【克隆相關修改除外】。
3 、配置Redis
主節點不需要做任何修改,也就是單機部署時的配置;
從節點需要增加宣告主節點資訊,如果主節點有配置密碼驗證,需要加主節點授權資訊。
每個從節點配置都一樣。
配置完啟動即可。
# 主節點無密碼驗證,從節點配置
replicaof 192.168.242.41 6379
# 主節點有密碼驗證,從節點配置
replicaof 192.168.242.41 6379
masterauth 【主節點設定requirepas/s的值】
4、檢視主從服務配置是否生效
有兩種方式檢視主從服務配置資訊命令:
方式一:在客戶端連線命令後直接帶命令,
方式二:先連線再命令。
# 無密碼模式,即protected-mode no
redis-cli info replication
# 有密碼模式,即protected-mode yes
# 方式一:連線時帶密碼
redis-cli -a pass info replication
# 方式二:先連線再用auth授權
redis-cli
auth pass
info replication
主節點資訊示例
從節點資訊示例
5、補充說明單機部署下載地址確認
《Redis7.x安裝系列教程(一)單機部署》
Redis官網下載地址:https://redis.io/downloads/
,往下拉會看到 Redis Stack downloads會看到兩個分支:Redis Stack 7.4 和Older Redis Stack Version。
點開 Older Redis Stack Version -> Redis downloads -> Install Redis from source 再往下拉會看 Latest stable release (最新穩定版本)的連結,也就是wget的連結。
再往下拉有其他版本,下載連結用滑鼠右擊獲取,或者直接訪問https://github.com/redis/redis-hashes/
。
6、我的公眾號
敬請關注我的公眾號:大象只為你,持續更新技術知識......