日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

redis 主從復制

經(jīng)常用Redis,你知道主從復制嗎?

 

master 節(jié)點提供數(shù)據(jù),也就是寫。slave 節(jié)點負責讀。

不是說master 分支不能讀數(shù)據(jù),也能只是我們希望將讀寫進行分離。

slave 是不能寫數(shù)據(jù)的,只能處理讀請求

主從實現(xiàn)

客戶端 127.0.0.1:6379 服務器 212.64.89.173:6379

方式一

客戶端發(fā)送請求同步命令

slaveof masterip masterport

Copyslaveof 212.64.89.173 6379

方式二

客戶端啟動服務器參數(shù)

redis-server --slaveof masterip masterport

Copyredis-server --slaveof 212.64.89.173 6379

方式三

在客戶端的配置文件中寫入 slaveof 信息

Copyredis.conf

slaveof 212.64.89.173 6379

注意 斷開主從鏈接方式: 客戶端執(zhí)行 slaveof no one

設置鏈接密碼

server 端

服務啟動后設置

Copyconfig set requierpass <password>

配置文件添加密碼

Copy# redis.conf
requirepass <password>

client 端

命令設置密碼

Copyauth <password>

配置文件設置密碼

Copymasterauth <password>

啟動客戶端設置密碼

Copyredis-cli -a <password>

建立連接

建立鏈接的過程就是希望 master和 slave都保有對方的 IP 和 Port。

經(jīng)常用Redis,你知道主從復制嗎?

 

數(shù)據(jù)同步

數(shù)據(jù)的同步分兩部分,全量同步和增量同步,在增量同步結(jié)束后,master 應當保存Slave 同步數(shù)據(jù)的位置。

經(jīng)常用Redis,你知道主從復制嗎?

 

復制(積壓)緩沖區(qū)

它有兩部分組成 偏移量 + 字節(jié)值

結(jié)構(gòu)

經(jīng)常用Redis,你知道主從復制嗎?

 

創(chuàng)建

1 當啟動AOF 時就會創(chuàng)建 復制積壓緩沖區(qū)

2 當被選為 master 節(jié)點,必須創(chuàng)建積壓緩沖區(qū)

作用

保存所有的對數(shù)據(jù)修改或數(shù)據(jù)庫修改的指令,查詢指令不會被記錄。

數(shù)據(jù)源

所有的進入master 的對數(shù)據(jù)修改或數(shù)據(jù)庫修改的指令都會被填充到積壓緩沖區(qū)中。

偏移量

1 Master 和 Slave 都會記錄 offset 值, 每次復制都會對比offset 是否一致。如果一致,Master直接從 offset 處開始傳緩沖區(qū)數(shù)據(jù),如果不一致,那么Master將遵循 Slave 的offset 來傳。當然會保證命令是完整的。

2 Master 保存有多個 offset 而 Slave 僅保存自己的。

3 Master發(fā)送一次,記錄一次, Slave 接受一次記錄一次。

關于Master注意

1如果master 數(shù)據(jù)量過大,應該避免業(yè)務高峰期進行數(shù)據(jù)同步。避免造成 master 阻塞

數(shù)據(jù)緩沖區(qū)滿, 此時將會丟棄最早的記錄(FIFO),如果全量復制的時間開銷過大,則可能在開增量復制時候已經(jīng)存在數(shù)據(jù)丟失,這會導致Master 和 Slave 數(shù)據(jù)不一致,為了保證一致性,必須開始新一輪的全量復制,完成后緩沖區(qū)又被填滿并存在丟棄,則會讓Slave進入死循環(huán)。

因此數(shù)據(jù)緩沖區(qū)要設置的大小合適(依具體情況而定)。

Copyrepl-backlog-size 1mb   # 默認的大小為 1MB

3 master 單機內(nèi)存不應該占用主機內(nèi)存過多。一般的 50 ~ 70% 預留下 30% ~ 50%來進行bgsave 、 創(chuàng)建復制緩沖區(qū)、執(zhí)行其他業(yè)務等。

關于Slave注意

1 為避免slave進行全量復制、部分復制時服務器響應阻塞或數(shù)據(jù)不同步,建議關閉此期間的對外服務。

Copyslave-server-stale-data yes|no

2 數(shù)據(jù)同步階段,master發(fā)送給 slave 信息可以理解 master是 slave 的一個客戶端,主動向slave發(fā)送命令。

3 多個slave同時對master請求數(shù)據(jù)同步,master發(fā)送的RDB文件增多,會對帶寬造成巨大沖擊,如果master寬帶不足,因此數(shù)據(jù)同步需要根據(jù)業(yè)務需求,適量錯峰。

4 slave過多時,應該對拓撲結(jié)構(gòu)進行調(diào)整,由一主多從結(jié)構(gòu)變?yōu)闃錉罱Y(jié)構(gòu),中間結(jié)點即是master,也是slave。但是使用樹狀結(jié)構(gòu)時,因為層級越深,數(shù)據(jù)同步時延越大,因此將強一致性的數(shù)據(jù)放在頂層節(jié)點,一致性稍弱的數(shù)據(jù)放在靠底層的節(jié)點。

命令傳播

當master數(shù)據(jù)庫狀態(tài)被修改后,導致主從服務器數(shù)據(jù)庫狀態(tài)不一致,此時需要讓主從數(shù)據(jù)同步到一致的狀態(tài),同步的動作成為命令傳播master將接受到的數(shù)據(jù)變更命令發(fā)送給slave,slave接受命令后執(zhí)行命令。

網(wǎng)絡閃斷閃連 忽略短時間網(wǎng)絡中斷 部分復制長時間網(wǎng)絡中斷 全量復制

服務器運行ID(runid)

每臺服務器每次運行都會產(chǎn)生的身份識別碼,同一個服務器多次運行產(chǎn)生的runid是不一樣的。

形式:runid 由 40 個字符組成 一般是16進制的字符串

Copyinfo server
run_id:409b6e9ea2e5c32958de8f365711598c98489f13

心跳機制

master

指令 PING

周期 repl-ping-slave-period 默認是 10s

作用 判斷 slave 是否在線

查詢 INFO replication 獲取最后一次 slave 連接時間間隔 lag = 0 / 1 屬于正常

slave

指令 REPLCONF{offset}

周期: 1s

作用1: 匯報自己的復制偏移量 獲取最新的數(shù)據(jù)變更指令

作用2: 判斷 master 是否存活

心跳注意事項

當 salve多數(shù)掉線 或者網(wǎng)絡延時過高時,master 會拒絕所有的同步信息。

Copymin-slaves-to-write 2   # 最小的 slave 數(shù)量

min-slaves-max-lag 8  # 最長的

當 slave 的數(shù)量小于2 ,或者所有的時延都大于等于 8 時,會強 關閉 master 的血功能來停止數(shù)據(jù)同步。

Slave 的數(shù)量和延時由REPLCONF{offset} 命令確認。

完整的主從復制流程

經(jīng)常用Redis,你知道主從復制嗎?

 

讀寫分離

在redis主從架構(gòu)中,Master節(jié)點負責處理寫請求,Slave節(jié)點只處理讀請求。對于寫請求少,讀請求多的場景,例如電商詳情頁,通過這種讀寫分離的操作可以大幅提高并發(fā)量,通過增加redis從節(jié)點的數(shù)量可以使得redis的QPS達到10W+。

負載均衡

基于主從結(jié)構(gòu),配合讀寫分離,由slave分擔master負載,并根據(jù)需求的變化,改變slave的數(shù)量,通過多個從節(jié)點分擔數(shù)據(jù)讀取負載,大大提高Redis服務器并發(fā)量與數(shù)據(jù)吞吐量

故障恢復

當master出現(xiàn)問題時,由slave提供服務,實現(xiàn)快速的故障恢復

數(shù)據(jù)冗余

實現(xiàn)數(shù)據(jù)熱備份,時持久化之外的一種數(shù)據(jù)冗余方式

高可用基石

基于主從復制,構(gòu)建哨兵模式與集群,實現(xiàn)redis 的高可用方案。

作者: black_monkey

出處:
https://www.cnblogs.com/monkey-code/p/13111453.html

分享到:
標簽:主從 復制 Redis
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定