99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Redis主從復(fù)制全解析:全量同步、增量同步與PSYNC協(xié)議實(shí)踐

Redis主從復(fù)制全解析:全量同步、增量同步與PSYNC協(xié)議實(shí)踐 1. 先想明白主從模式到底是在解決什么問題有一回我和同事排查一個(gè)線上告警從節(jié)點(diǎn)斷了幾十秒重連之后主節(jié)點(diǎn)的 CPU 和帶寬突然一起飆升日志里反復(fù)出現(xiàn)全量數(shù)據(jù)同步的記錄。當(dāng)時(shí)第一反應(yīng)是網(wǎng)絡(luò)出了問題但查來查去根子其實(shí)出在復(fù)制積壓緩沖區(qū)太小斷線期間的增量數(shù)據(jù)已經(jīng)保不住了所以被迫退化成一次完整的全量數(shù)據(jù)同步。那次之后我越來越覺得Redis 主從模式不難搭但要把全量數(shù)據(jù)同步和增量數(shù)據(jù)同步這兩套機(jī)制吃透才談得上在故障面前不手忙腳亂。主從模式是 Redis 高可用的地基。你可以先把它理解成一個(gè)“一個(gè)老師帶多個(gè)學(xué)生”的結(jié)構(gòu)主節(jié)點(diǎn)負(fù)責(zé)接收寫請(qǐng)求從節(jié)點(diǎn)實(shí)時(shí)跟著主節(jié)點(diǎn)的數(shù)據(jù)走平時(shí)主要承擔(dān)讀請(qǐng)求。這樣做最直接的好處有三個(gè)讀寫分離把讀流量分散到多個(gè)從節(jié)點(diǎn)上主節(jié)點(diǎn)壓力變小。數(shù)據(jù)冗余主節(jié)點(diǎn)掛了從節(jié)點(diǎn)手里還有一份完整數(shù)據(jù)能頂上。高可用基礎(chǔ)哨兵模式、集群模式底層都依賴主從復(fù)制這套數(shù)據(jù)同步機(jī)制。搭建主從的方式也很簡(jiǎn)單無非兩種。一種是配置文件中寫好replicaof指令另一種是在命令行動(dòng)態(tài)執(zhí)行# 在從節(jié)點(diǎn)上執(zhí)行把當(dāng)前實(shí)例變成 master 的從節(jié)點(diǎn) REPLICAOF 10.0.0.11 6379注意命令是REPLICAOF不是老寫法SLAVEOF。新版本里雖然SLAVEOF還能用但官方已經(jīng)不推薦了主從這兩個(gè)詞在 Redis 的運(yùn)維語義里正逐步被替換掉。很多初學(xué)者會(huì)有個(gè)疑問主從復(fù)制到底是推數(shù)據(jù)還是拉數(shù)據(jù)答案是“拉”。從節(jié)點(diǎn)主動(dòng)找主節(jié)點(diǎn)要數(shù)據(jù)主節(jié)點(diǎn)被動(dòng)響應(yīng)。這個(gè)設(shè)計(jì)很關(guān)鍵因?yàn)槿绻侵鞴?jié)點(diǎn)主動(dòng)推送主節(jié)點(diǎn)還得維護(hù)一張從節(jié)點(diǎn)清單誰掉線了、誰新加入管理起來非常麻煩。改成從節(jié)點(diǎn)主動(dòng)拉取之后主節(jié)點(diǎn)只需要在收到請(qǐng)求時(shí)干活整個(gè)鏈路的控制權(quán)就交給了從節(jié)點(diǎn)。另一個(gè)容易誤解的點(diǎn)是主從模式并不保證強(qiáng)一致性。Redis 的復(fù)制默認(rèn)是異步的主節(jié)點(diǎn)執(zhí)行完寫命令后就返回客戶端了不會(huì)等著所有從節(jié)點(diǎn)都確認(rèn)寫完。所以從節(jié)點(diǎn)上的數(shù)據(jù)一定比主節(jié)點(diǎn)“慢一點(diǎn)點(diǎn)”這個(gè)滯后是常態(tài)。理解了這一點(diǎn)你再去看全量同步和增量同步的設(shè)計(jì)就會(huì)有更清晰的主線一切努力都是為了縮小這個(gè)滯后窗口同時(shí)讓斷線重連后的追平成本盡可能低。2. 全量同步第一次握手是怎么把整份數(shù)據(jù)搬過去的2.1 初次建立復(fù)制的入口PSYNC ? -1不管是從零搭建一主一從還是從節(jié)點(diǎn)數(shù)據(jù)已經(jīng)被污染需要重建第一次建立復(fù)制時(shí)從節(jié)點(diǎn)對(duì)主節(jié)點(diǎn)說的一句話永遠(yuǎn)是PSYNC ? -1翻譯成人話就是“我對(duì)自己要復(fù)制的這段數(shù)據(jù)歷史一無所知從哪個(gè)偏移量開始追我也不知道干脆把我需要的所有數(shù)據(jù)都發(fā)給我吧。”主節(jié)點(diǎn)收到這個(gè)請(qǐng)求之后如果同意全量同步會(huì)回復(fù)FULLRESYNC replid offsetreplid是主節(jié)點(diǎn)當(dāng)前復(fù)制流的身份標(biāo)識(shí)你可以把它理解成這部“數(shù)據(jù)連續(xù)劇”的劇目編號(hào)offset是主節(jié)點(diǎn)當(dāng)前已經(jīng)寫到的字節(jié)位置相當(dāng)于播放進(jìn)度。拿到這兩個(gè)信息之后從節(jié)點(diǎn)才正式開始全量同步。這里有個(gè)值得拆解的細(xì)節(jié)為什么第一次同步必須用全量而不是把主節(jié)點(diǎn)上的每條寫命令都重新發(fā)給從節(jié)點(diǎn)執(zhí)行一遍原因很樸素——主節(jié)點(diǎn)可能已經(jīng)跑了幾個(gè)月寫操作記錄太多了如果從頭開始逐條“補(bǔ)作業(yè)”網(wǎng)絡(luò)開銷和耗時(shí)都不可控。而 RDB 快照把當(dāng)前所有數(shù)據(jù)壓縮成一個(gè)文件一次性發(fā)過去雖然過程重但終點(diǎn)明確。2.2 全量同步的完整時(shí)序BGSAVE、積壓緩沖區(qū)、清空裝載全量同步不是主節(jié)點(diǎn)一個(gè)BGSAVE然后把文件丟給從節(jié)點(diǎn)就完事兒的中間藏著好幾個(gè)容易忽略的環(huán)節(jié)。我把完整流程拆開來看從節(jié)點(diǎn)發(fā)送PSYNC ? -1主節(jié)點(diǎn)決定走全量同步返回FULLRESYNC。主節(jié)點(diǎn)執(zhí)行BGSAVE生成 RDB 快照文件。在BGSAVE執(zhí)行期間主節(jié)點(diǎn)依然對(duì)外服務(wù)所有新的寫命令會(huì)被同時(shí)記錄到復(fù)制積壓緩沖區(qū)replication backlog里。RDB 文件生成完畢主節(jié)點(diǎn)把文件發(fā)給從節(jié)點(diǎn)。從節(jié)點(diǎn)收到 RDB 之前會(huì)先把自己的舊數(shù)據(jù)清空然后加載 RDB 文件。RDB 發(fā)送結(jié)束后主節(jié)點(diǎn)再把積壓緩沖區(qū)里這段時(shí)間積攢的寫命令補(bǔ)發(fā)給從節(jié)點(diǎn)。從節(jié)點(diǎn)執(zhí)行完這些補(bǔ)發(fā)的命令主從數(shù)據(jù)追平進(jìn)入后續(xù)的增量同步階段。注意第 5 步“清空舊數(shù)據(jù)”不是在拿到 RDB 之前就做的。從節(jié)點(diǎn)會(huì)先把舊數(shù)據(jù)留著等 RDB 文件完整接收且校驗(yàn)通過后再清空再加載這樣即使 RDB 傳壞了至少從節(jié)點(diǎn)還能保留原來的數(shù)據(jù)不至于兩邊都變成空殼。這里就是全量同步最容易出性能問題的環(huán)節(jié)了。主節(jié)點(diǎn)執(zhí)行BGSAVE需要 fork 出一個(gè)子進(jìn)程來生成快照。fork 本身很快但如果實(shí)例里堆積了大量大 key子進(jìn)程在生成 RDB 時(shí)會(huì)觸發(fā)內(nèi)存頁的復(fù)制Copy-On-Write內(nèi)存和 CPU 都會(huì)有一波明顯消耗。我在生產(chǎn)環(huán)境里見過上百 GB 的實(shí)例做全量同步主節(jié)點(diǎn)的瞬時(shí) CPU 直接飆到多核打滿耗時(shí)是以分鐘計(jì)的。所以 Redis 提供了一些調(diào)節(jié)閥比如# 開啟無盤復(fù)制主節(jié)點(diǎn)不生成 RDB 文件落盤通過 socket 直接發(fā)給從節(jié)點(diǎn) config set repl-diskless-sync yes # 等待多個(gè)從節(jié)點(diǎn)一起請(qǐng)求延遲幾秒后只生成一次 RDB服務(wù)所有從節(jié)點(diǎn) config set repl-diskless-sync-delay 5無盤復(fù)制適合主節(jié)點(diǎn)磁盤 IO 比較吃緊、但網(wǎng)卡帶寬還寬裕的場(chǎng)景。如果從節(jié)點(diǎn)很多我會(huì)建議開啟repl-diskless-sync-delay讓多個(gè)從節(jié)點(diǎn)集合到一起共享一次 RDB 生成結(jié)果避免每個(gè)從節(jié)點(diǎn)各 fork 一次。2.3 從節(jié)點(diǎn)裝載 RDB 時(shí)是阻塞的別忽視從節(jié)點(diǎn)加載 RDB 文件的過程是阻塞的。也就是說加載期間從節(jié)點(diǎn)沒法對(duì)外提供讀服務(wù)INFO replication里會(huì)看到master_link_status:down同時(shí)在日志里出現(xiàn)SYNC with master in progress。這個(gè)狀態(tài)持續(xù)多久取決于 RDB 文件的大小和機(jī)器的磁盤速度。如果你的業(yè)務(wù)對(duì)從節(jié)點(diǎn)的讀可用性要求比較高可以關(guān)注一下 Redis 7 引入的repl-diskless-load配置# 可選on-empty-db / swapdb降低裝載 RDB 期間的阻塞影響 config set repl-diskless-load on-empty-db這個(gè)配置的大體思路是從節(jié)點(diǎn)先把新 RDB 數(shù)據(jù)加載到臨時(shí)內(nèi)存再切換視圖讓舊數(shù)據(jù)盡可能多服務(wù)一會(huì)兒。不過它也有自己的副作用比如臨時(shí)內(nèi)存消耗會(huì)翻倍。所以要不要開還得看你的內(nèi)存余量不能照單全收。再補(bǔ)一個(gè)容易踩的坑如果從節(jié)點(diǎn)配置了 AOF 持久化那么從節(jié)點(diǎn)在完成 RDB 裝載之后還會(huì)基于新數(shù)據(jù)集做一次 AOF 重寫。換句話說磁盤上會(huì)先出現(xiàn)短暫的“舊 AOF 和文件新內(nèi)容并存”的狀態(tài)如果你監(jiān)控的是磁盤空間這段時(shí)間要做好心理準(zhǔn)備別把磁盤告警閾值卡得太死。3. 增量同步復(fù)制偏移量、積壓緩沖區(qū)與命令傳播3.1 復(fù)制的“里程表”offset 是怎么記錄進(jìn)度的全量同步結(jié)束之后主從之間就進(jìn)入增量數(shù)據(jù)同步階段也叫命令傳播階段。這時(shí)候機(jī)制變得輕量很多主節(jié)點(diǎn)每執(zhí)行一條寫命令除了寫自己的內(nèi)存數(shù)據(jù)還會(huì)把這條命令追加到復(fù)制積壓緩沖區(qū)同時(shí)把自身的master_repl_offset往后推進(jìn)。從節(jié)點(diǎn)每收到一條命令并執(zhí)行完也會(huì)把自己這邊的slave_repl_offset往前推進(jìn)。也就是說主節(jié)點(diǎn)和從節(jié)點(diǎn)各自維護(hù)著一個(gè)“進(jìn)度條”。雖然它們都是朝著同一個(gè)方向前進(jìn)但異步復(fù)制決定了這兩個(gè)進(jìn)度條不可能完全同步一定存在一個(gè)差值這個(gè)差值就是我前面提到的數(shù)據(jù)滯后量。你可以把復(fù)制流想象成一條兩端不斷增長(zhǎng)的長(zhǎng)河offset就是河上的里程標(biāo)。主節(jié)點(diǎn)在上游從節(jié)點(diǎn)在下游河水每流一米兩邊的里程標(biāo)都會(huì)更新。這里的“河水”就是命令字節(jié)流每個(gè)字節(jié)都有自己唯一的偏移量。命令傳播階段其實(shí)就兩件事主節(jié)點(diǎn)往“河”里注入新的命令流并記錄master_repl_offset。從節(jié)點(diǎn)從“河”里消費(fèi)命令流執(zhí)行后上報(bào)自己的slave_repl_offset。從節(jié)點(diǎn)會(huì)每秒上報(bào)一次自己的offset通過REPLCONF ACK offset命令告訴主節(jié)點(diǎn)“我追到哪兒了”。主節(jié)點(diǎn)收到之后不但能算出滯后量還能判斷這個(gè)從節(jié)點(diǎn)是否還活著——如果超過timeout時(shí)間沒收到 ACK主節(jié)點(diǎn)就會(huì)認(rèn)為這個(gè)從節(jié)點(diǎn)已經(jīng)斷開了。3.2 斷線重連后主節(jié)點(diǎn)怎么決定從哪接著傳從節(jié)點(diǎn)斷線之后重連時(shí)發(fā)送的就不再是PSYNC ? -1了而是PSYNC replid offset意思變成“我?guī)е洗蔚纳矸莺瓦M(jìn)度來了你看看能不能從斷點(diǎn)接著給我傳。”主節(jié)點(diǎn)收到這個(gè)請(qǐng)求后會(huì)做兩個(gè)判斷第一這個(gè)replid是不是我當(dāng)前的身份第二這個(gè)offset是否還落在我的復(fù)制積壓緩沖區(qū)里。如果兩個(gè)條件都滿足主節(jié)點(diǎn)返回CONTINUE然后從offset對(duì)應(yīng)的位置開始把后面的命令流繼續(xù)發(fā)給從節(jié)點(diǎn)。這個(gè)過程就是增量數(shù)據(jù)同步也就是官方文檔里說的“部分重同步”partial resynchronization。代價(jià)非常小網(wǎng)絡(luò)開銷只等于斷線期間積攢的那部分命令。如果條件不滿足主節(jié)點(diǎn)返回FULLRESYNC整個(gè)流程退回全量同步。具體來說以下兩種情況最常見從節(jié)點(diǎn)發(fā)送的replid和主節(jié)點(diǎn)當(dāng)前replid對(duì)不上。從節(jié)點(diǎn)發(fā)送的offset太舊了已經(jīng)不在積壓緩沖區(qū)里主節(jié)點(diǎn)找不到那個(gè)位置的數(shù)據(jù)了。3.3 backlog 大小是增量同步的命門對(duì)象積壓緩沖區(qū)的官方配置名是repl-backlog-size默認(rèn)只有 1MB。1MB 聽著不小但放在寫流量大的主節(jié)點(diǎn)上可能不到一分鐘就被環(huán)形緩沖區(qū)覆蓋掉了。為什么說是環(huán)形緩沖區(qū)因?yàn)樗拇鎯?chǔ)區(qū)域是固定大小循環(huán)使用的。新命令不斷寫入最老的命令就被頂?shù)?。主?jié)點(diǎn)只會(huì)保留最近 N 字節(jié)的命令流。舉個(gè)例子復(fù)制積壓緩沖區(qū)當(dāng)前范圍是 offset 10000 到 11024。從節(jié)點(diǎn)重連后上報(bào) offset 10500落在這個(gè)區(qū)間內(nèi)可以增量同步。如果從節(jié)點(diǎn)上報(bào) offset 9900說明它需要的命令已經(jīng)有一部分被頂?shù)袅酥荒苋客?。這個(gè)例子能直觀看出backlog 越大能容忍的斷線時(shí)間越長(zhǎng)增量同步的成功率越高。生產(chǎn)環(huán)境里怎么定這個(gè)大小我一般會(huì)先做個(gè)粗估算repl-backlog-size 主節(jié)點(diǎn)每秒寫入量(bytes) x 預(yù)期最長(zhǎng)斷線時(shí)間(秒)比如主節(jié)點(diǎn)平均每秒產(chǎn)生 2MB 寫命令我希望從節(jié)點(diǎn)斷線 120 秒后重連還能走增量同步那就得給到 256MB 以上。注意這里算的是寫命令的字節(jié)量不是業(yè)務(wù)寫入的數(shù)據(jù)量。一條更新 100 字節(jié)字段的命令在復(fù)制流里可能也要占幾十到上百字節(jié)所以用粗略值乘個(gè) 1.5 系數(shù)更穩(wěn)妥。設(shè)置方式config set repl-backlog-size 268435456如果實(shí)例已經(jīng)運(yùn)行一段時(shí)間了Redis 會(huì)直接從當(dāng)前offset開始填充新的環(huán)形區(qū)間不需要重啟。生效后可以通過INFO replication里的repl_backlog_active和repl_backlog_histlen確認(rèn)。我踩過的一個(gè)真實(shí)教訓(xùn)是某業(yè)務(wù)從節(jié)點(diǎn)數(shù)量有七八個(gè)平時(shí)增量同步都正常但只要某個(gè)從節(jié)點(diǎn)所在的網(wǎng)絡(luò)偶爾抖動(dòng)超過一兩分鐘重連后就必然是FULLRESYNC。后來把repl-backlog-size從默認(rèn) 1MB 調(diào)到 128MB復(fù)制風(fēng)暴立刻消失。查日志的時(shí)候看到的關(guān)鍵字一般是Trying a partial resynchronization (request ...) Full resync requested前面的說明在嘗試增量后面說明失敗了、退化成全量。如果你在日志里看到這兩種狀態(tài)交替出現(xiàn)第一反應(yīng)就應(yīng)該是去看 backlog 大小而不是去懷疑網(wǎng)絡(luò)。4. PSYNC 協(xié)議演進(jìn)斷點(diǎn)續(xù)傳能力是怎樣一步步變強(qiáng)的4.1 SYNC 時(shí)代的無奈每次重連都是一次全量現(xiàn)在大家接觸 Redis 基本都是 4.0 以上版本PSYNC 已經(jīng)是默認(rèn)行為。但如果你翻過老代碼或者看過更早的運(yùn)維文檔會(huì)發(fā)現(xiàn)最初的復(fù)制協(xié)議只有一個(gè)命令SYNC。SYNC的邏輯非常簡(jiǎn)單粗暴從節(jié)點(diǎn)一發(fā)SYNC主節(jié)點(diǎn)就BGSAVE生成 RDB 發(fā)過去。在這個(gè)協(xié)議下從節(jié)點(diǎn)只要斷開重連不管斷了幾秒、缺了多少數(shù)據(jù)主節(jié)點(diǎn)都得重新生成一份完整快照再全量發(fā)一遍。那個(gè)時(shí)期的 Redis從節(jié)點(diǎn)數(shù)量稍微多一點(diǎn)只要趕上一次網(wǎng)絡(luò)抖動(dòng)就可能產(chǎn)生連鎖反應(yīng)每個(gè)從節(jié)點(diǎn)都觸發(fā)一次全量同步每個(gè)全量同步都會(huì)讓主節(jié)點(diǎn) fork 并發(fā)送 RDB主節(jié)點(diǎn) CPU、內(nèi)存、帶寬同時(shí)被打滿。可以說SYNC協(xié)議是把“簡(jiǎn)單”寫在了臉上代價(jià)全留給了運(yùn)維。4.2 PSYNC 與 replid第一代斷點(diǎn)續(xù)傳是怎么實(shí)現(xiàn)的后來 Redis 引入了PSYNC核心變化就是給復(fù)制流增加了兩個(gè)“坐標(biāo)”replid和offset。從節(jié)點(diǎn)可以在斷線重連時(shí)帶上自己上次記住的坐標(biāo)主節(jié)點(diǎn)只要發(fā)現(xiàn)自己手里還留著這段數(shù)據(jù)就能從斷點(diǎn)繼續(xù)傳不必每次都全量。這背后的實(shí)現(xiàn)就是我前面講的復(fù)制積壓緩沖區(qū)??梢哉fPSYNC協(xié)議的價(jià)值和 backlog 是綁定的沒有 backlog 就沒有斷點(diǎn)續(xù)傳。平時(shí)用INFO replication能看到主節(jié)點(diǎn)上這么一行master_replid:8e0d1f3c...這就是當(dāng)前復(fù)制流的身份 ID。只要主節(jié)點(diǎn)維護(hù)的這個(gè) ID 不變從節(jié)點(diǎn)帶著舊的replid和offset回來就有機(jī)會(huì)繼續(xù)增量同步。4.3 PSYNC2主從切換后不再強(qiáng)制全量但第一代 PSYNC 有一個(gè)明顯的硬傷一旦發(fā)生主從切換原本的從節(jié)點(diǎn)被提升為新主節(jié)點(diǎn)它自己的replid是全新的原來那批從節(jié)點(diǎn)帶著舊主節(jié)點(diǎn)的replid再連過來兩邊身份對(duì)不上統(tǒng)統(tǒng)退化為全量同步。設(shè)想一個(gè)場(chǎng)景A 是主節(jié)點(diǎn)B 和 C 是 A 的從節(jié)點(diǎn)。某天 A 宕機(jī)哨兵把 B 提升為新主節(jié)點(diǎn)。C 節(jié)點(diǎn)還在正常運(yùn)行它手里的數(shù)據(jù)就差 A 掛掉那一刻沒來得及同步的一小段而已。理論上B 和 C 都從 A 復(fù)制了一份幾乎相同的數(shù)據(jù)C 連到 B 時(shí)完全有資格做增量同步。但舊協(xié)議不認(rèn)賬C 會(huì)被迫從頭開始全量拉一次 B 的數(shù)據(jù)浪費(fèi)大量帶寬。第二代 PSYNC常被稱為 PSYNC2解決的就是這個(gè)問題。它引入了一個(gè)replid2的概念當(dāng)一個(gè)從節(jié)點(diǎn)被提升為主節(jié)點(diǎn)時(shí)它會(huì)保留自己作為從節(jié)點(diǎn)時(shí)期的主節(jié)點(diǎn)replid把它存到replid2里。C 節(jié)點(diǎn)再連過來時(shí)B 會(huì)檢查你的replid雖然跟我不一樣但和我保存的replid2匹配而且你的offset還在我的 backlog 范圍內(nèi)那就允許增量同步。這樣一來主從切換后的大部分從節(jié)點(diǎn)都能繼續(xù)走增量數(shù)據(jù)同步只有極少情況下才需要全量。這在大型集群里的收益非常明顯少了全量同步等于少了 N 次 RDB 文件傳輸主節(jié)點(diǎn)的 fork 壓力和網(wǎng)絡(luò)壓力都大大緩解??梢杂靡粡埿”戆讶鷧f(xié)議的區(qū)別說清楚能力SYNCPSYNCPSYNC2初次全量同步支持支持支持?jǐn)嗑€重連續(xù)傳不支持支持支持主從切換后續(xù)傳不支持不支持支持需要 backlog不需要需要需要5. 主從復(fù)制鏈路中的坑與排查經(jīng)驗(yàn)5.1 反反復(fù)復(fù)的全量同步先別怪網(wǎng)絡(luò)如果你的從節(jié)點(diǎn)日志里一直出現(xiàn)“先嘗試部分重同步、緊接著又變成全量同步”的狀態(tài)第一排查項(xiàng)一定是 backlog 容量。環(huán)型緩沖區(qū)的特性決定了它只認(rèn)“最近發(fā)過多少字節(jié)的命令”不認(rèn)“你斷線了多長(zhǎng)時(shí)間”。哪怕只斷了幾秒只要這幾秒內(nèi)主節(jié)點(diǎn)的寫命令字節(jié)量超過了 backlog 的上限重連照樣得全量。排查步驟也不復(fù)雜# 主節(jié)點(diǎn)上查看 backlog 實(shí)際使用情況 redis-cli info replication | grep -E backlog|offset重點(diǎn)看幾個(gè)字段master_repl_offset主節(jié)點(diǎn)當(dāng)前寫入進(jìn)度。slave_repl_offset從節(jié)點(diǎn)當(dāng)前進(jìn)度。repl_backlog_histlenbacklog 里目前保存的有效命令流長(zhǎng)度。如果你的repl_backlog_histlen已經(jīng)等于repl-backlog-size說明環(huán)形緩沖已經(jīng)被寫滿里面的內(nèi)容時(shí)刻在滾動(dòng)淘汰。這種狀態(tài)下斷線重連增量同步的成功率非常低。解決辦法也很直接把 backlog 調(diào)大同時(shí)結(jié)合業(yè)務(wù)寫流量估算出合理值。調(diào)整完不是結(jié)束還應(yīng)該盯兩輪第一輪觀察斷線重連的日志確認(rèn)出現(xiàn)的是CONTINUE而不是FULLRESYNC第二輪觀察主節(jié)點(diǎn) CPU確認(rèn)沒有因?yàn)轭l繁全量同步而持續(xù)走高。5.2 過期 Key 不會(huì)在從節(jié)點(diǎn)上主動(dòng)刪除這是個(gè)非常經(jīng)典的主從一致性細(xì)節(jié)。在主從復(fù)制中從節(jié)點(diǎn)默認(rèn)不會(huì)主動(dòng)刪除過期的 key。聽起來是不是反直覺如果從節(jié)點(diǎn)自己能判斷 key 過期直接刪掉不就行了為什么還要等主節(jié)點(diǎn)通知原因在于兩個(gè)實(shí)例的“時(shí)間感”不完全一致如果在同一秒內(nèi)主節(jié)點(diǎn)認(rèn)為 key 過期、從節(jié)點(diǎn)認(rèn)為還沒過期兩邊刪除時(shí)機(jī)不一致就會(huì)導(dǎo)致數(shù)據(jù)分叉。所以 Redis 的策略是過期刪除的決策權(quán)只在主節(jié)點(diǎn)。主節(jié)點(diǎn)的處理方式有兩類惰性刪除客戶端請(qǐng)求某個(gè) key 時(shí)發(fā)現(xiàn)已經(jīng)過期直接刪除并返回空。定期刪除后臺(tái)周期掃描一批 key刪除其中過期的。不管是哪種方式刪除主節(jié)點(diǎn)都會(huì)把刪除行為轉(zhuǎn)成一條DEL命令通過復(fù)制流轉(zhuǎn)發(fā)給從節(jié)點(diǎn)。從節(jié)點(diǎn)收到這條DEL后才會(huì)真正把本地這個(gè) key 刪掉。這里有個(gè)副作用從節(jié)點(diǎn)在收到主節(jié)點(diǎn)的刪除命令之前如果被讀到了那個(gè)邏輯上已經(jīng)過期的 key會(huì)發(fā)生什么按我的實(shí)測(cè)經(jīng)驗(yàn)Redis 從節(jié)點(diǎn)會(huì)直接把這個(gè) key 當(dāng)不存在處理返回空結(jié)果但底層數(shù)據(jù)仍然占著內(nèi)存。也就是說從節(jié)點(diǎn)會(huì)“看不到”這個(gè) key但內(nèi)存遲遲不釋放。如果你發(fā)現(xiàn)從節(jié)點(diǎn)的內(nèi)存占用長(zhǎng)時(shí)間高于預(yù)期而大 key 掃描也沒掃出什么東西可以懷疑是過期 key 堆積。解決辦法并不復(fù)雜檢查主從復(fù)制是否正常確認(rèn)沒有積壓很久的延遲因?yàn)閺墓?jié)點(diǎn)必須追平主節(jié)點(diǎn)、消化掉積壓的 DEL 命令才會(huì)把這些過期 key 清空。另外要注意從節(jié)點(diǎn)一定要開啟只讀模式config set replica-read-only yes如果有人在從節(jié)點(diǎn)上手動(dòng)寫入或修改數(shù)據(jù)主從數(shù)據(jù)立刻就會(huì)分叉而且很難追回來。這類問題往往比 backlog 問題更隱蔽因?yàn)闃I(yè)務(wù)表現(xiàn)只是一些偶發(fā)的數(shù)據(jù)“對(duì)不上”。5.3 復(fù)制風(fēng)暴與從節(jié)點(diǎn)級(jí)聯(lián)控制所謂復(fù)制風(fēng)暴是指短時(shí)間內(nèi)大量從節(jié)點(diǎn)同時(shí)觸發(fā)全量同步導(dǎo)致主節(jié)點(diǎn)資源被沖垮。典型誘因有兩種一個(gè)是主節(jié)點(diǎn)重啟或切換導(dǎo)致所有從節(jié)點(diǎn)同時(shí)掉線再重連另一個(gè)是從節(jié)點(diǎn)全網(wǎng)段重啟全部在同一時(shí)刻重連主節(jié)點(diǎn)。應(yīng)對(duì)思路有幾個(gè)我按優(yōu)先級(jí)說調(diào)大 backlog讓盡量多的斷線重連走增量同步。這是最便宜、最基礎(chǔ)的措施。錯(cuò)峰重連靠運(yùn)維工具控制從節(jié)點(diǎn)分批重啟不要一把梭。用鏈?zhǔn)綇?fù)制即主-從-從結(jié)構(gòu)。中間的從節(jié)點(diǎn)既當(dāng)從節(jié)點(diǎn)又當(dāng)下一級(jí)的主節(jié)點(diǎn)減輕頂層主節(jié)點(diǎn)的壓力。開啟無盤復(fù)制并設(shè)置 delay多個(gè)從節(jié)點(diǎn)可以共享一次 RDB 生成結(jié)果。我自己的傾向是從節(jié)點(diǎn)數(shù)量超過 5 個(gè)的架構(gòu)鏈?zhǔn)綇?fù)制是值得認(rèn)真考慮的尤其是跨機(jī)房場(chǎng)景??鐧C(jī)房帶寬本來就緊張如果每臺(tái)從節(jié)點(diǎn)都直接從主節(jié)點(diǎn)拉全量 RDB那點(diǎn)帶寬瞬間就會(huì)被吃光。中間建一層“中繼從節(jié)點(diǎn)”讓它在某個(gè)機(jī)房?jī)?nèi)再向下一層復(fù)制能顯著降低跨機(jī)房的復(fù)制流量。需要注意鏈?zhǔn)綇?fù)制會(huì)讓最下端從節(jié)點(diǎn)的數(shù)據(jù)滯后時(shí)間變大因?yàn)槊钜?jīng)過兩次轉(zhuǎn)發(fā)。這屬于典型的時(shí)間換帶寬是不是劃算得結(jié)合業(yè)務(wù)對(duì)讀取延遲的要求來權(quán)衡。5.4 平時(shí)怎么判斷主從狀態(tài)是健康的我養(yǎng)成了一個(gè)習(xí)慣每次接手一套 Redis 環(huán)境第一件事先把INFO replication的輸出完整看一遍。重點(diǎn)關(guān)注這么幾項(xiàng)role是主還是從別搞反了。master_link_status:up復(fù)制鏈路是否正常。狀態(tài)不是 up 就得馬上看日志。master_sync_in_progress:0是否正在全量同步。長(zhǎng)時(shí)間為 1 說明有大 RDB 在傳。slave_repl_offset和主節(jié)點(diǎn)的master_repl_offset兩者差值是不是在合理范圍內(nèi)長(zhǎng)期偏大就說明從節(jié)點(diǎn)追不上。master_last_io_seconds_ago最后一次和主節(jié)點(diǎn)通信是在多久之前超過timeout值就要警惕掉線。這里還有一個(gè)經(jīng)驗(yàn)之談從節(jié)點(diǎn)追不上主節(jié)點(diǎn)不一定是網(wǎng)絡(luò)慢也可能是主節(jié)點(diǎn)發(fā)給它的命令本身就重。比如一條命令操作大集合的幾百個(gè)元素復(fù)制流里這條命令的體積很大從節(jié)點(diǎn)執(zhí)行時(shí)又會(huì)觸發(fā)內(nèi)存分配和哈希表擴(kuò)容耗時(shí)遠(yuǎn)超主節(jié)點(diǎn)。這種情況下光是調(diào)大 backlog 沒用還得優(yōu)化業(yè)務(wù)側(cè)的寫命令模式比如把大集合的批量寫拆開。最后分享一條我個(gè)人反復(fù)驗(yàn)證過的經(jīng)驗(yàn)當(dāng)復(fù)制鏈路出現(xiàn)詭異問題時(shí)不要急著改配置。先把redis-cli info replication的快照保存一份再把主從兩端的日志級(jí)別臨時(shí)調(diào)到 debug復(fù)現(xiàn)一次問題把MASTER - REPLICA sync相關(guān)日志完整收集起來。八成以上的復(fù)制問題從這幾行日志里就能看出真正的走向剩下的兩成才輪到網(wǎng)絡(luò)抓包和內(nèi)核參數(shù)排查。這套笨辦法幫我在好幾次故障里省下了大量半夜時(shí)間也建議你下次遇到類似問題時(shí)先試試。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
超碰99久久| www.婷婷五月| 色噜噜狠狠色综合日日免费| 91视频人人做97| 色婷婷丁香五月| 久久五月综合| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | http://www.com久久久精品一区| 欧美日本黄色| 久久99久久99精品免视看婷婷| 玖玖激情网| www.色五月.com| 都市激情蜜桃婷婷五月天| 五月日韩中文字幕| 色播六月| 色五月婷婷影院| 日韩99色| 五月婷中文字幕| 色99久草在线| caop在线| 亚洲另类久久| 都市激情亚洲| 九九综合影音先锋| 六月婷婷五月丁香| 婷婷久久网| 五月丁香欧美在线| 九九久久五月天综合伊人| 激情爱爱网站| www.97干视频| 9视频1在线| 夜夜骑夜夜操| 丁香啪啪| 婷婷五月成人| 天天插综合| 色射婷婷五月天| 99热9999| 色婷婷aV四虎| 91综合色噜噜| 91xxxx九色| 99热这里有精品| 97色色婷婷| 久久久噜噜噜久久人妻| 色播五月网| 颜射 精品性爱av| 色五月激情视频在线综合| 大香蕉Av在线| 性生活视频98791| 婷婷五月天av| www 五月天 com| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 99只有这里有精品在线视频| 丁香五月大香蕉在线99| 玖玖资源站蜜臀| 色色色在线观看| 久久精品人妻| 婷婷成人基地| 五月婷婷狠狠干| 五月丁香| 99热在线观看免费中文| 99精品在线观看| 另类激情五月| 超碰成人电影| 亚洲第一成人AV| 人人舔人人色人人高潮| 99综合网| 激情婷婷五月天伊人在线观看 | 五月天成人综合| 亚洲99热| 中文资源在线a| 激情丁香五月天| 婷婷五月天论坛| 99热在线爱| 99色天堂| 综合色综合| 欧美性爱特黄一级aaaassss| 噜噜操操| 高清无码.com| 女人天堂 AV| 日本五月婷| 久久久久久性爱视频| 五月丁香婷婷视频| 久久激情综合| 五月天激情亚洲| 九九精品丁香花| 影音先锋男人AV资源站| 超碰资源在线| 日日操夜夜爽天天天| 色黑鬼导航| 五月天婷婷激情干干| 深爱开心五月天| 麻豆123区| 伊人五月成人| 美女精品一级不卡视频| 亚洲婷婷免费| 国产99久9在线+|+传媒| 婷婷月五天在线在线看| 色五月婷婷大| 亚洲AV中文在线| 久久激情五月婷婷| 五月丁香六月激情| 亚洲av日韩无码| 桃色Av色哟哟| 123草逼网| 天天日天天添| 日韩AV色色色| 欧洲色| 99热这里都是精品| 欧美性色A片免费免费观看的| 久久精99| 玖玖伦理电影| 亚洲综合无码| 婷婷五月丁香99| 婷婷五月天综合久久| 亚洲成人网站在线播放| 天天插综合在线| 日韩在线aaa| 五月丁香综合啪啪| 久久99日本精品视频免费观看| 色五月婷婷91| 激情com| www夜夜操com| 久久久天堂国产精品女人| 欧美久久九九| 无码网| 色五月激情| 国产午夜一区二区三区| 九九超碰人人| 婷婷五月天色综合| 99视频久久免费视频| 久久婷婷五月综合色和| 荫道BBWBBB高潮潮喷| 亚洲狠狠终合停停终合| 五月天丁香综合在线| 99热99思午夜精品| 天天摸天天肏| 国产资源在线视频| 五月天激情开心网| 超碰在线91| 激情五月色综合网| 婷婷五月激情视频在线| 任你干aa| 日本精品。999| 九九婷婷综合| 99热99美国在线观看| 丁香五月综合在线| 五月天久久久| 五月综合亚洲色| 国产精品婷婷午夜在线观看| 河北真实伦对白精彩脏话| 亚洲AV第二区国产精品| 丁香五月av在线| 99热免费| 久久视屏这里只有久久| 五月精品| 91日韩美女被插视频| se99高清无码| 超碰人人色| 97成人在线视频| 天天激情夜夜干| 中文无码婷婷| 丁香大香蕉| 丁香五月在线播放| 欧美久久久中文字幕| 婷婷六月色开| 精品久久艹| se99热久久一本| 99热久草| WWW、日本色丁香、co m| 久久ER视频com| 大香蕉综合在线| 五月久久婷婷天堂视频| 婷婷成人AV| 激情五月丁香五月| 五月婷婷97| 天天xxxxxx天天日| 丁香婷婷婷五月综合色情| 大地资源色婷婷视频在线| 1000部毛片A片免费观看| 成人视频一区| 五月天婷婷综合网| 五月婷婷六月激情网| 综合色久| 久狠日av| 亚洲操B视频| 99热免费看| 超级碰碰一区| 超碰91人人操| 久久免费9| 色在线视频网2025| 影音先锋一区二区三区| www.91九色| 99ri精品| 中文字幕欧美日韩VA免费视频| 快乐激情五月色婷婷| 日日爽日日| 久久色频| 9 7总站超级碰免费视频| 婷婷丁香五月综合激情小说| 97热久久| 久久思思热| 激情精品久久| 色yeye欧美| 人人摸人人搞| 99热欧美| 激情五月天丁香| 五月天小说激情| 五月色婷| 亚洲va欧美va国产综合久久久| 成人精品视频99在线观看免费| 六月伊人婷婷| 婷婷娌伦网| 婷婷综合精品| www.人人操人人看人人想人人摸 人人人人操,COM | 五月天激情.com| 九九综合色综合| 麻豆雪千夏| 五月丁香激情啪啪| 伊人干综合| 北京熟妇搡BBBB搡BBBB | 久久综合55| 婷婷在线激情| 伍月激情天| 九月性爱网| 婷婷午夜综合| 秋霞电影一级黄| 日韩色色色色| 天天射影院| 超碰97免费在线| 日本天天操| 丁香女人五月天| 超碰日韩人妻在线| 色五月激情五月| 丁香婷婷婷五月综合色情| 久久激情综合| 婷婷十月激情综合网| 精典久久| 婷婷丁香婷婷97| 婷婷中文无码| 五月婷婷人妻| 久久精品国产色| 九色视频九色九色91jiuseshipin| 超碰人人99| 五月天五月色婷婷综合| 26.uuu丁香五月婷婷| 婷婷久久五月| www.日韩国产| 婷婷激情六月天视频| 日本色久| 色五月天 丁香| 人人爱操| 日熟女| 秋霞学生妹一二级| 婷婷综合激情| 色婷婷69| 成年人看Va免费视频| 9久国产精品| 爆乳熟妇一区二区三区四区| 五月天开心网| 色五月91| 超碰在线观看9| 男人综合网| 色情久久久| 婷婷五月天av| 人妻22p| 色婷婷丁香| 激情深爱婷婷网| .肏屄视频一区二区| 91久久久久久| 亚洲免费婷婷| 丁香激情网| 中文不卡一二区| 在线观看五月婷婷网| 色播五月综合网| 中文字幕中文有码在线| 婷婷五月天色| 久久综合激情| 久久性爱视频| 成人在线精品| 五月婷婷五月| 狠狠综合网| 亚洲九九99精品视频在线播放| 婷婷九九| www.婷婷六月天| 五月色激情综合网| 九九色video| 蜜桃五月天| 人妻无码精品一区| 久久五月婷| 色综合久久88色综合天天看| 婷婷色操| 大香蕉婷婷五月| 综合图区激情| 五月天激情啪啪| 伊人六月丁香婷婷| 另类激情五月| 日本色色视频| 五月天久久小说| AV中文网| 日本不卡一区二区三区| 亚洲久热| 农村熟妇高潮精品A片| 色色色99| 久久五月激情综合| 26uuu| 五月丁香免费看| 97在线/亚洲| 性生活视频98791| 天天天在线观看| 99色色网| 五月天丁香综合| 嫩草视频在线观看| 欧美99热| 狠狠爱深色婷婷综合| 天天日天天色| 色吧99| Caoub青青超碰 | 香蕉久久国产AV一区二区| 26uuu欧美| 国产成人一区二区三区在线观看 | 97超碰在线免费观看| 婷婷开心久久| 大香蕉久久婷婷| 大香蕉婷婷| 啪啪小说五月天| 五月婷婷精品无在线| 丁香五月天成人| 色婷婷综合视频| 亚洲综合五月| 色色色网站| 色五月超碰| 99色视频| 久久9情免费| 久操人| 国産精品| 婷婷五月丁香基| 国产乱妇乱子伦| 天天操夜夜爱| 991国产精选视频在线播放下载| 色婷婷av在线观看| 综合久久五| 一本九九色| 人人操人人干AV| 五月激情婷婷综合| 99色综合| 九色在线五月婷婷网址| 久久婷五月婷| 射久久丁香五月| 99久久大片| 婷婷丁香激情综合色情| 乱精品一区字幕二区| 久久色吧| 精品国产va久久久久| 色色婷婷综合网| 巴基斯坦粉嫩无码视频| 狠狠色综合网站久久久久| ..真实国产乱子伦对白在线_欧| 日本操B视频| 日韩AV在线免费| 久99久在线| 岛国资源网| 婷婷六月综合基地| 亚洲综合网在线| 国产无人区大片| 五月丁香婷婷在线综合蜜桃| 丁香五月天亚洲视频| 激情丁香五月天| 激情综合网激情五月婷婷| 亚洲婷婷久久综合| 99国产性感视频| 丁香五月欧美午夜视频| 午夜免费试看| 亚洲在线视频321| 热久久思思热思思| 97性视频| 丁香五月婷婷亚洲天堂| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 激情第四色| 就爱日五月天| 色天天久婷婷| 91九色在线| yazhoujiqingav| 色九月婷婷综合| 激情丁香五月婷婷啪啪| 色五月婷婷五月天| 色播五月丁香| Av九九| www.韩日视频| 夜夜噜夜夜奇| www色色com| 午夜福利8055| 成人精品99| 玖玖在线视频| 美欧成人视频| 欧美三级视频下载| 天天搞天天色综合| 超碰免费人| 色5在线| 亚洲欧美婷婷五月色综合| 色色色热| 蜘蛛女免费观看完整版高清电影| 狠狠色丁香| 九九综合图片网| 五月婷婷色情| 日本女色人人| 涩涩婷婷五月| 综合福利网| 亚洲性爱干干| www色色色com| 日本九九视频| 婷婷五月综合色拍| 牛牛色av| 色天五月天在线观看视频| 不卡成人免费| av中文在线| 天天色天天日| 六月色激情| 婷丁香五月天| 日本不卡一区二区三区| 天天狠狠插| 99热这里只有精品8| 九九九色综合| 五月婷婷开心网| 国产欧美日韩性爱| 久久9久| 色色五月天网站| 五月天久久网站| 艹天天射| 国产免费AV网站| 日本熟妇精品99| 五月丁香六月婷婷姐| 激情婷婷丁香| 激情五月婷婷啪啪| 字幕网AV中文字幕| 五月伊人婷婷| www一起操| 天天肏高清在线| 26.uuu丁香五月婷婷| 碰碰碰97免费精彩视频| 综合五月天| 亚洲a片免费观看| 丁香五月停停av| 婷婷99视频全集高清| 无码人妻一区二区三区免费九色| 精品国产乱码久久久久久免费| 五月丁香综合精品| 99热免费| 99热这里只有精品官网| 五月丁香婷婷啪啪综合| 九九黄色网| 精品视频这里只有精品| 99综合97| 亚洲色情网站| 五月婷婷丁香综合| 五月综合激情婷婷六月色窝| 欧洲免费视频色| 超碰精品国产首页| 五月色色网| 色情性爱视频网址| 五月婷婷久久网| 少妇性按摩无码中文A片| 成人五月天丁香| www.zbzhongsen.com| 99aese| 丁香五月婷婷综合91| 青青草成人网| 丁香五月综合色婷婷| 夜夜嗨一区二区三区直播内容| 五月丁香六月久久| 被强行糟蹋的女人A片| 欧美成人精品一区二区| 91九色精品熟女内射| 天天日天天插| 色99网站| 玖玖精品婷婷| 疯狂做受XXXX高潮A片动画| 九九久久五月天综合伊人| 青青草五月天| 在线观看国产高清视频免费网站 | 日本44久久在线| 先锋资源91| 99久久久久| 日本va欧美va欧美va| 91avse| www,婷婷,com| 婷婷91| 婷婷五月天第四色| 日本99热| www.无码com| 99色色网| 中文字幕AV在线播放| 狠狠色性| 久热欧美| 玖玖五月丁香| 婷婷五月天天| 青青草成人网| 来吧亚洲综合网| 超碰99在线观看| 丁香五月激情综合久久| 色婷婷五月天| 激情五月六月婷婷| 婷婷丁香五月亚洲免费| 五月社区丁香| 欧美日本VA| 久久久久五月丁香| 大色鬼综合| 激情五月天色色| 婷婷午夜天| 婷婷五月天AV激情| 热99国产精品| 久久香蕉福利| 99ri视频在线播放| 婷婷91| 色情五月天A片| 五月丁香婷婷爱激情综合网| 五月久久婷婷天堂视频| 婷婷六月天| 色情成人五月天| 99综合网| 色五月婷婷色五月| 激情五月婷婷综合网| 久久亚洲婷婷| 黄色精品五月婷婷| 激情五月婷婷视频一区二区三区| 少妇高潮呻吟A片免费看软件| www.久久久久| 91人妻人人操人人爽| 超碰人人妻| av在线播放网站| www.婷婷五月天| 婷婷综合97| 色色亚洲视频| 狠狠狠狠狠狠狠狠| 婷婷王月天影院| 色五月av伊人| 婷婷色香六月综合激情| 狠狠人人| 九九九九九无码| 色一区高清| 91丨九色丨东北熟女| 成人电影在线免费试看| 五月综合色| 狼人婷婷久久| 9l视频自拍九色9l视频自拍九色9l社区 | 99操99| 丁香五月婷婷亚洲综合精品| 婷婷六月激情| 91九色首页| 亚洲天堂久久| 天天操夜夜啊| 7月婷婷六月丁香| 国产精品色婷婷久久久精品| 九九大香蕉黄色影院| 黄色录像网点| 激情婷婷五月天丁香| 久热婷婷在线视频| 91人人澡人人爽人人看| 在线成人网址| 操一区| 亚洲午夜精品久久久久久人妖| 亚洲欧美成人在线| 99热 免费| 五月婷婷久久爱| 五月久久亚洲| 囯产精品一品二区三区| 成年AAAA色情| 婷婷丁香激情五月天色色| 丁香婷婷色五月天| 亚洲天天操| 思思热99热| 婷婷成人视频| www.超碰| 五月丁香天天| 99久久大片| 五月婷婷深深爱| PORNY九色9l自拍视频成人| 99热国产这里只有精品| 精品久久穴| 香蕉五月婷婷| www久久艹| 色婷婷电影网| 精品成人无码A片观看香草视频| 99国产小视频| 五月婷啪| 国产偷人爽久久久久久老妇APP| 99干免费视频| 夜夜 操无码| 安息电影在线观看完整版| 天天日天天操天天干| www.婷婷五月| 色情五月丁香| 久久青草国| 欧美va视频| 天天色综合天天| A A色色| 综合伊人久久| 国产美女无遮挡裸体毛片A片| 精品自拍97| 久久东京热婷婷五月| 琪琪秋霞| 2025天天日爽| 久久小说| 激情图片婷婷| 99re这里有精品手机在线| 99在线精品视频| 色婷婷基地| 日本三日本三级少妇三级66| 久久五月六月| www.天天干| 亚洲国产精品VA在线看黑人 | 五月丁香婷中文| 国产日韩欧美性爱| 欧美性生交XXXXX无码小说| 伊人狠狠色婷婷综合丁香一区| 最新日本A片| 婷婷五月天激情电影小说| 99热最新精品| 亚洲人成播放网站| 人妻久久久久久久久妻久久久久久久久| 米奇影视五月天| 99∨VTV| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 欧美123区免| 色99视频| 婷婷五月天六月综合| 停停五月丁香| 欧美午夜乱妇午夜福利| 色婷婷久久| 五月天另类小说| 五月综合视频| av无码电影| 五月天激情.com| 色婷婷激情| 精品人妻在线| 天天爽免费视频| av亚洲国产小电影| 这里只有精品视频视频在线观看| 9月色婷婷| 香蕉97碰碰碰欧美| 色五月丁香五月五月婷婷| 超碰99热精品| 久久天堂色| www.思思99热| 91久久久久久久久18| 日日操夜夜操不卡| 校园激情 亚洲| 五月激情站| 无码A片一区二区免费| 另类综合国产| 激情操逼婷婷| 婷婷丁香第一页| 色情五月综合婷婷| 婷婷丁香色五月亚洲| 丁香五月天.com| 任你日热视频| 开心五月天激情网| 免费超碰在线| 狠狠干夜夜干| 丁香六月天婷婷色| 森林影视大全,最好看的2019年视频 | 丁香五月婷婷操逼| 亚洲色a| 国产又色又爽又黄又免费| 国产亚洲色婷婷99精品| 激情五月天啪啪| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 天天日天天日天天搞| 欧美婷婷色| 天天干天天操天天上| 亚洲乱码日产精品BD| 久久这里只有精品久久| 婷婷五月天视频| 丁香婷婷综合精品六月初| 激情五月天综合| 99久久婷婷国产综合| 五月婷在线观看| 久久综合五月| 色婷婷免费观看| 激情久久五月天| 另类A片| 丁香婷婷91在线观看视频| 激情五月久久| AV五月丁香| 97色婷婷| 欧美黑人大吊| 欧亚成人A片一区二区| 五月婷婷丁香大陆免费| 色玖玖爱| 在线va网站| 日本精品人妻无码77777| 888精品福利地址| 少妇水多A片太爽了| 色色亚卅| 欧美交换配乱吟粗大25P| 99精品热视频只有精品10| 五月婷婷基地| 丁香五月,激情五月,深爱五月| 精品操逼一区二区| 伊人婷婷综合| 激情丁香淫荡婷婷| 91碰操| 激情99| 久99热在线观看| 色五月婷婷五月| caopeng97日韩| 亚洲免费电影2| 97超碰人人操| 久久婷婷操| 久久婷婷婷| 九九激情网| 99九九这里有免费视频| 天天色99| 激情综合网婷婷久久| 极品嫩草| 99热精品中文字幕| 五月天婷婷青青草| 99网址在线看| 亚洲欧洲中文日韩久久AV乱码| 亭亭五月色男人| 99精品自拍| 这里只有精品96| 狠狠色噜噜狠狠| 这里只有精品日韩精品| 婷婷五月在线| 亚洲无码成人| 九九久久综合网站| 五月天婷婷情色| 五月色综合| 色综合五月天| 天天爽日日搞| 久久与婷婷| 久久久18| http://www.sd-xiangsu.com/| 色99视频| 91精品综合久久久五月天| 色播五月婷婷| 欧美日韩大黄| 98色花堂98t.R| 国产精品久久久久9999小说 | 亚洲av成人在线| 久久99久久99精品免观看软件| 丁香五月最新地址| 亚洲六月综合激情久久下卡| 一级性爱视频| 成人丁香五月| 色综合久久伊伊婷婷五月| 色五婷婷| www狠狠爱com| 中字幕视频在线永久在线观看免费| 九九亚洲| 。久久久久久久久久久久久久人妻| 国产成人av在线| www.五月婷| 三级毛片视频| 丁香五月天婷婷激情| 五月丁香在线| 丁香 婷婷 亚洲 熟女| 深爱婷婷基地| 91操片| 美女伊人久久| 伊人婷婷99热精品| 国产小精品| 激情五月丁香五月| 91狠狠综合网| 精品久久人妻| 这里只有精品视频99| VA国产在线综合网站| 色色九九五月天| 亚洲人成网站999久久久综合| 国产成人精品一区二区三区视频| 玖玖色综合| 激情综合网五月| 夜夜操夜夜操| 99爱在线| 桃色成人网| 婷婷五月天基地| 色综合色色| 狠狠爱婷婷爱| 色99在线| 99色色| 激情综合五月开心狠狠| 性色欲情 网站| 久久久久久久久久91| 婷婷99狠| 99爱在线| 九色视频入口91| 狠狠干五月| av一级棒av| 北条麻妃九九九国产精品视频| 大香蕉啪啪啪| 丁香六月综合激情| 疯狂做受XXXX高潮A片| 国产精品大香蕉| 久久久www| 色婷婷久久久| 操人久久| 色婷婷欧美| 成人丁香五月| 五月激情天| 五月婷婷丁香| 强壮的公次次弄得我高潮A片日本 | 99热超碰| 久久人妻熟女一区二区| 99精品在线观看| 五月天激情四射| 少妇性BBB搡BBB爽爽爽电影| AA片在线观看视频在线播放| 亚洲宗合激情| 91伦| 色原狠狠综合| 热婷婷av| 国产精品色婷婷久久久精品| 碰97久久| 亚洲区,视频区,视频区免费| 五月丁香久久综合| 日日干综合| 六月丁香五月亭亭| 五月丁香婷婷开心| 99视频只有精品| 欧美黄色韩日网| 丁香婷婷五月色成人网站| 91九色欧美| 99久在线精品99re5热视频| 久久人人超| 91精品久久久久久77777| http:色情日本com| 黄网在线免费| 99日视频在线| 色欲天天综合网| 婷婷丁香五月天综合网| 激情婷婷五月天日本系列| 色色亚洲视频| 99热这里只有精彩| 99精品视频免费观看近期发布| 影音先锋91网站在线观看| 久久综合9| 色色爽爽天天| 五月天婷婷六月| 婷婷五月天激情基地| www.黄色片-久久成人国产精品在线播放-999AV | 高清一区二区三区日本久| 丁香五月婷婷基地| 色99久草在线| 五月天丁香欧美激情| 激情性爱五月天| 天天综合色综合| 无套内射极品大美女| 婷婷五月丁香五月| 黄色激情网站在线观看| 99狠狠色| 99久久丝| 丁香色播五月天| 五月婷婷花| 色99自拍| 五月婷三级片| 成人av在线电影| www.五月天婷婷姐姐| 久草热在线视频| 91日韩在线| 欧美啪啪网| 婷婷五月天在线观看av| www.操.com| 99干日本| 亚洲精品**不卡在线播he| 99激情网| 亚洲日日操| 99操逼| 激情丁香五月天图片| 五月综合视频在线| 人妻久久久久久| 国产片XXXXA片国语对白| 久久精品五月天| 婷婷久久午夜网| 狠狠干狠狠干| 五月激情四射网站| 婷婷五月激情四月综合| 夜夜干夜夜操| 国产亚洲精品久久久久久久久动漫| 精品网站:999WWW| 婷婷深爱网| 五月天激情综合| 婷婷娌伦网| 五月婷婷色吧!| www.夜夜操.com| 91在线操| 久久五月激情| 欧美性生交XXXXX无码小说| 五月天丁香综合久久国产| 丁香五月无码| 丁香五月花| 97人人超| 91人操| 亚洲狠9| 丁香五月视频在线观看| 超碰人人超碰| 成人 在线观看国产| 激情综合视频| 日本人人超碰| 色色婷| 国产精品久久7777777精品无码| 日本综合久久| 99热精品在线播放| www.色综合.com| 五月天AV大香蕉| 亚洲人妻五月丁香婷婷| 亚洲日本韩国| 五月天另类小说久久小说网| 91操操操| 色婷婷久久| 成人丁香色| 久久婷婷五月天激情四射| 九九免费精品| Aaa久久| 99色色最新视频| 另类少妇人与禽zOZZ0性伦| 久久精品婷婷五月丁香| 亚洲经典小视频| 国产内射婷婷| 色婷婷激情视频| 精品香蕉99久久久久网站| 五月丁香婷婷AV天堂| 噜噜在线| 久久久精品AV| 任你爽精品免费视频6| 人妻激情视频| 亚洲乱码在线观看| 婷婷欧美综合| 婷婷五月综合体验看| 免费成人网在线观看| 人人干人人操人人摸| 91精品视频男人的天堂| 婷婷丁香十月| 欧美日韩国产一区二区| 天天干一干| 婷婷九月亚洲| 第四色激情网| 色情五月天小说| 六月激情网| 99'无码| 少妇人妻丰满做爰XXX| 久久精品小视频| 激情婷婷五月丁香啪啪啪| 色播丁香五月婷婷操:屄| 亚洲乱码日产精品BD| 就爱干 在线| 亚洲精品一二三| 五月婷六月婷婷| 久碰久| 五月丁香啪综合| 中文字幕在线播放视频| 激情综合网色播五月| 五月天另类综合网| 久久久高清| 五月综合影院| 九九成人电影婷婷| 丁香五月综合AV在线| 亚洲xx网| 五月在线| 久久这里只有精品视频26| a性生活久久无| 开心深爱激情网| 色综合中文色综合网| 激情五月天色色| 狠狠干总合| 婷婷色影院| 激情五月,深深爱五月| 色综合久久综合| 婷婷色在线| 久久婷出差欧美色两性综合网| 九九九九九九热| 色色色99| 丁香丁婷五月激情| 色五月婷婷在线观看第一页舔| 五月色色激情网| 婷婷色五月天色色| 久久久中文| 人妻久久久久久久久妻久久久久| 久久免费干| 久久性视频| 五月婷婷开心爱| 97高清国语自产拍| www.婷婷五月| 久久五月天激情婷婷| 色婷婷综合久久久久| 激情婷婷五月天伊人在线观看| 国成人网| 五月婷婷影| 亚洲综合网激情小说| 日韩久久系列| 丁香五月六月| 丁香五月天色| 39视频第二区| 操人91| www.henhengan| 婷婷精品| 夜色.cnm| 伊人五月天| 日韩五月丁香| 婷婷五月综合网| 五月激情小说| 26uuu欧美亚洲日韩| 婷婷丁香成人五月天| 五月天色色色| 婷婷五月骚厕所| 久久婷五月天| 亚洲一区二区 成人网站戴套| 日本色色色| 日本久久爱| 粉嫩av懂色av蜜臀av熟妇| 538在线精品| 狼人婷婷综合| 色五月天激情| 金桔一区二区ab地址| 婷婷丁香综合在线| 深爱五月婷婷| 国产精品社区| 五月婷视屏在线观看| 婷婷激情五月天激情在线| 老师高潮流白浆喷水的A片| 六月婷婷色综合| 亚洲色五月婷婷| 五月天中文字幕在线婷婷| 欧美激情伊人| 亚洲成人AV高清字幕| 99九九在线精品热动漫| 五月天婷婷色播在线网| 色综合久久综合中文综合网| 狠狠狠狠狠干| 99精品免费视频| 五月婷久久| 91热在线| 玖玖爱导航| 99热传媒| 全部老头和老太XXXXX| 色九区| 婷婷丁香基地在线| 丁香五月婷婷无码AV| 中文在线视频久9| 五月色情| 色噜噜狠狠色综合网| 热99AV网站| 综合网色| 猫咪伊人久久| 99re视频在线精品| www.色五月| 欧美精品XXXXBBBB| 99视频只有精品| 五月天色五月| 五月激情婷婷丁香天堂| 亚洲俩性性爱图片久久第六页| 人妻操日日| 五月婷婷先锋| 免费碰碰视频久| 97超碰婷婷五月天| 少妇AB又爽又紧无码网站| 婷色五月天| 色日本丁香婷婷| 五月丁香猫咪久久婷婷综合视频激情四射网入口| 99久在线精品99re5热视频| 欧美人人草草| 色婷婷av综合网| 中国无码av| 黄色片久久| 精品国产一区二区三区四区阿崩| 97人人干人人操| 啪啪激情综合| 另类激情五月| 大香蕉精品视频| 大香蕉520| 久久婷婷五月丁香网| 91黄操| 亚洲小视频| 亚艹艹| 色综合色色色| 久久久久久人妻| 天天操夜夜操| 色综合大香蕉| 国产精品色婷婷AV综合色色| 婷婷五月久久| 五月丁香激情欧洲啪啪| 99成人小视频| 欧美一级操逼视频| 天天操天天操天天操天天操天天操| 久久99网| 深爱开心激情网| 天天精品视频在线观看视频| 色婷婷九月| 五月天色婷婷成人| AV性爱网| 色五月婷婷色| 中文字幕成人| 激情都市另类| 色狠狠色噜噜AV天堂五区| 综合福利网| 激情婷婷丁香色五月| 人人干女人| 99综合在线| 亚洲视频在线观看99| 激情五月黄色小说| 九九热这里只有精品5| 综合激情网五月激情| 五月婷婷啪啪网| 久久一热免费视频| www.26uuu.com亚洲电影| 丁香五月激情综合啪啪| 狠狠草在线观看| 午夜成人天堂久久无码日韩久久| 26uuu亚洲| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 亚洲av成人电影在线观看| 婷婷五月天久久久| 91热er| 夜夜操,天天撸| 香蕉综合网| 五月天久久色| 亚洲 视频 导航 一区| site:hcxsz888.com| 不卡影院午夜理论片| 色5月丁香婷婷| 特级西西4444www无码| 久热伊人| 久久综合综合综合| 97综合在线| 五月天 综合 在线| 五月婷视屏在线观看| 五月丁香六月激情综合欧美| 激情AV在线| 国产精产国品一二三在观看 | 91婷婷五月天综合视频| 五月丁香六月激情欧美综合| 久久伊人大香蕉| 色墦五月丁香| 色色激情五月天| 久久婷青青草原| 色色色地址| 色婷婷五月天堂资源| 日日天天干| 欧美日韩999| 亚洲AV永久无码影院黑人| 永久无码色| 999热在线视频| 婷婷激情小说| 人人操91| 婷婷五月天综合亚洲| 8区视频在线| 久久机热思思热| 狠狠色婷婷7777久| 国产欧美性成人精品午夜| 婷婷六月成人| 就要去操亚洲成人精品五月天丁香婷婷| 九九无码视屏| www.激情| 天色色综合网| 丁香五月婷婷深爱综合激情| 五月色色激情网| 精品99在线观看| 久久无码成人| 久99| 激情网综合| 婷婷五月综合在线| 黄色一级影片| 午夜电影网VA内射| 色99视频| 丁香六月av| 天天拍夜夜爽| 亚洲天堂啪啪| 午夜在线成人网站免费观看| 激情五月开心五月在线视频| 思思热视频在线| 丰满少妇乱A片无码| www.zbzhongsen.com| 变态另类9| 全国最新疫情| 亚洲热久久| www.五月丁香| 99国产性感视频| 99热官网| 人妻中文在线| 日日干日日| 国产免费一区二区三州老师F1F1……| 99热这里只有精品 搜| 97色婷| 久久久激情视频| 亚洲色A| 国产69久久久欧美黑人A片| 国产精品人妻在线网址| 久久婷婷五月天亚洲欧美| 91人人人人人| 99热热九九| 丁香五月婷婷在线| 9精品在线| 91操片| 色偷偷色婷婷| 日本色视| 超碰伊人碰婷婷五月| 色999五月色| 久久视频在线视频| 99re熱| 99热在线精品观看| 九月色婷婷| 亚洲第一第二网站| 97色综合| 婷婷五月天在线观看免费| 日韩熟女啪啪视频| 亚洲成人va| 久久电影五月天丁香电影| 操你av| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 五月深爱激情网| 国产精品黑丝| 国产在这里只有精品| 狠狠干狠狠操狠狠爱| 婷婷深爱五月| 亚洲人妻一区二区 | 97人人操| 亚洲天堂色色| 第四色网婷婷| 超级碰碰碰97免费| 国产永久一黄| 99re6久热只有精品6在线直播| 日本一区二区三区精品视频| 开心婷婷五月天激情网| 墨西哥毛片内射精| 可以看的AV网站| 国产婷婷综合在线免费视频| 精品99在线| 五月丁香婷婷色色| 久久久久婷婷| 91久久1118| 久久怡红院| 五月丁香六月婷婷玖玖| 六月婷婷色| a v色婷婷| 中文字幕av网站| 99热免费观看| 五月丁香福利| www.99视频| 天天cha成人综合网| 蜜臀av 粉嫩av 懂色av | 久草免费福利视频| 人人干人人操人人摸| 日本一级| 国产午夜精品一区二区三区嫩草| 久久网思思| 伊人九九综合| 婷婷五月天电影网| 日日想日日夜日日操| 中文字幕在线人妻| 五月天啪啪视频| 日韩一66精品| 亚洲成人中文字幕| 亚洲激情综合| 五月丁香婷婷六月天| 色播激情| 综合婷婷都市激情| 狠狠爱综合| 九九视频在线观看视频6| 天天日天天摸天天| 婷婷丁香综合| 99网| 青青草视频福利| 色色色婷| 荡乳尤物3HP1V5| 色导航色婷婷五月天在线观看| 丁香五月成人| 亚洲韩国日产综合AV| 激情av|