久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Redis6中的主從復制架構有什么特點

154次閱讀
沒有評論

共計 2700 個字符,預計需要花費 7 分鐘才能閱讀完成。

本篇內容介紹了“Redis6 中的主從復制架構有什么特點”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

主從復制的介紹

主從復制,是指將一臺 Redis 服務器的數據,復制到其他的 Redis 服務器。前者為主節點(master),后者成為從節點(slave);數據的復制都是單向的,只能由主節點到從節點。默認情況下,每臺 Redis 服務器都是一個主節點,且一個主節點可以有多個從節點(或者沒有從節點),但一個從節點只能有一個主節點。

使用主從復制的好處:讀寫分離,能夠擴展主節點的讀能力,給主節點分擔壓力。容災恢復,一旦主節點宕機,可以在從節點作為主節點的備份隨時可以頂上來。

架構介紹

從節點復制了主節點的數據,復制之后我們就可以做一個讀寫分離。如果是單節點的話,應用程序的請求都集中在主節點,但有了從節點之后可以承擔部分的讀壓力。主節點就可以做讀寫操作,而從節點只做讀操作。這樣便給主節點分擔壓力了。

Redis 主從復制,一主二從架構環境準備

說了那么多概念咱們就開始動手部署 Redis 的主從復制架構吧,這次我們部署的是一主二從的架構。

# 創建文件
mkdir -p /data/redis/master/data
mkdir -p /data/redis/slave1/data
mkdir -p /data/redis/slave2/data
#從節點開啟只讀模式 (默認)
replica-read-only yes
#從節點訪問主節點的密碼,和 requirepass ?樣
masterauth 123456
 
#哪個主節點進?復制
replicaof 8.129.113.233 6379

首先創建一個主節點,在 data/redis/master/data 目錄下 touch 一個 redis.conf 文件,編輯 redis.conf 文件

bind 0.0.0.0
port 6379
daemonize yes
requirepass  123456 
logfile  /usr/local/redis/log/redis1.log 
dbfilename  xdclass1.rdb 
dir  /usr/local/redis/data 
appendonly yes
appendfilename  appendonly1.aof 
masterauth  123456

接著創建從節點 1,在 data/redis/slave1/data 目錄下建 redis.conf

bind 0.0.0.0
port 6380
daemonize yes
requirepass  123456 
logfile  /usr/local/redis/log/redis2.log 
dbfilename  xdclass2.rdb 
dir  /usr/local/redis/data 
appendonly yes
appendfilename  appendonly2.aof 
replicaof 8.129.113.233 6379
masterauth  123456

創建從節點 2,在 data/redis/slave2/data 目錄下建 redis.conf

bind 0.0.0.0
port 6381
daemonize yes
requirepass  123456 
logfile  /usr/local/redis/log/redis3.log 
dbfilename  xdclass3.rdb 
dir  /usr/local/redis/data 
appendonly yes
appendfilename  appendonly3.aof 
replicaof 8.129.113.233 6379
masterauth  123456

注意:防火墻記得關閉,阿里云服務器記得開放網絡安全組。

創建好后就開始啟動已經配置好的節點

啟動方式:

# 啟動主
./redis-server/data/redis/master/data/redis.conf
#啟動從 1
./redis-server/data/redis/slave1/data/redis.conf
#啟動從 2
./redis-server/data/redis/slave2/data/redis.conf

使用 info replication 可以查看當前節點的狀態

主從復制和讀寫驗證

1. 在主節點創建一個 key
set name jack
2. 在兩個從節點測試是否能拿到主節點的數據
get name
3. 在從節點 set key 是失敗的,因為從節點只支持讀操作 

Redis6 主從架構 - 復制讀寫分離原理解析

主從復制分為兩種:一種是主從剛開始連接的時候,進行全量同步;另一種是全同步結束后,進行增量同步。

全量復制:master 服務器會開啟一個后臺的進程用于將 Redis 的數據生成一個 rdb 文件,主服務器會緩存所有接受到的來自客戶端的寫命令,當后臺保存進程后,會將 rdb 文件傳遞給 slave 服務器,這時候 slave 服務器就有了 master 服務器的數據了。在此之后,master 服務器會將在此期間把緩存過來的命令通過 redis 傳輸協議發送給 slave 服務器,然后 slave 服務器再將這些命令依次用于自己本地上,最終達到數據的一致性

增量復制:主節點會有不斷的命令寫進來,slave 完成初始化后開始工作時主服務器發送寫的操作同步到服務器的過程就叫增量復制。增量復制是服務器每執行一個寫命令就會向從服務器發送相同的寫命令,從服務器接受并執行收到的寫命令。

主從復制有何特點:

主從復制對于主 / 從 服務器來說都是非阻塞的,所有在同步數據期間都可以正常處理外界的請求,一個主節點可以包含有多個從節點,每個從節點可以接受來自其他從節點的連接。從節點不會讓 key 過期,而是在主節點的 key 過期刪除后,發送刪除命令給從節點進行刪除。

加速復制:在節點完成重新同步的時候需要在磁盤上創建一個 RDB 文件,然后加載這個文件來為從服務器發送數據,但如果磁盤的速率比較低呢?這就會導致主節點與從節點的數據不一致。在新版的 Redis 中,支持無磁盤的復制,直接將 RBD 文件通過網絡發送的形式給從服務器,不在使用磁盤作為中間件。

如果主從連接斷開的話,重新連接后可以從中斷的地方繼續進行復制,而不用重新同步。在 2.8 版本后,重新同步的這個新特性使用 PSYNC 命令,而舊的使用 SYNC 命令

“Redis6 中的主從復制架構有什么特點”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-18發表,共計2700字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 安西县| 西青区| 嘉禾县| 佳木斯市| 安达市| 伊通| 乐至县| 建水县| 新化县| 扎兰屯市| 松滋市| 苏尼特右旗| 炉霍县| 固安县| 南昌市| 灵武市| 昌平区| 永修县| 邵东县| 建水县| 克拉玛依市| 宜城市| 金山区| 桃江县| 临桂县| 湘乡市| 潢川县| 安丘市| 达州市| 民乐县| 靖州| 略阳县| 基隆市| 保山市| 高阳县| 盐山县| 郁南县| 东丽区| 登封市| 喀什市| 濮阳市|