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干貨。