1、概述
隨著企業業務的不斷擴大,請求的併發量不斷增長,Redis可能終會出現無法負載的情況,此時我們就需要想辦法去提升Redis的負載能力。
讀寫分離(主從複製)是一個比較簡單的擴充套件方案,使用多臺機器同時執行Redis服務,一臺負責寫服務,多臺負責讀服務,通過多臺伺服器對請求進行負載,大大提高了Redis服務的負載壓力。
最常見的讀寫分離是一主二從的模式,一臺主伺服器負責Redis寫入服務,兩臺從伺服器負責Redis的讀取服務,從伺服器定時從主伺服器複製Redis資料。
今天我們就來聊聊Redis的讀寫分離如何搭建的。
2、讀寫分離的搭建
2.1 場景說明
主伺服器IP:192.168.1.144
從伺服器A IP:192.168.1.22
從伺服器B IP:192.168.1.8
這三臺伺服器上都已經安裝好了Redis環境,安裝方法參見我的另一篇文章《Redis的安裝、基本使用以及與SpringBoot的整合》。
2.2 修改從伺服器A和從服務B的Redis配置
replicaof 設定Redis主服務的IP和埠
masterauth 設定Redis主服務的密碼
2.3 刪除從伺服器A和從伺服器B的資料檔案
# cd /usr/local/redis/db
# rm -rf *.rdb *.aof
2.4 重啟從伺服器A和從伺服器B
# cd /etc/init.d/
# ./redis_init_script stop
# ./redis_init_script start
2.5 檢視主從狀態
# redis-cli
> AUTH zhuifengren
> info replication
主伺服器狀態:
從伺服器A狀態:
從伺服器B狀態:
2.6 測試主從複製
此時,在主伺服器,寫入Redis值,在從伺服器就可以讀取。
3、綜述
今天介紹了Redis讀寫分離的搭建,相對來說是比較容易的,但讀寫分離有個缺點,當主服務當機後,從服務是不能升級成主服務的。
為了解決這個單點問題,後面我們會介紹Redis的哨兵模式和叢集模式。
希望大家多多評論交流,共同成長。
關注追風人聊Java,每天更新Java乾貨。