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
返回資訊列表
九九热内射| 超碰亚洲天堂| 五月天啪啪| 俺也去在线视频 | 香蕉97碰碰碰超视精品| 我淫我色婷婷五月天激情四射| 色吧五月婷婷| 激情网五月天| 开心激情网五月| 天天日日人| 婷婷五月丁香伊人| 午夜精品777| 99热大香蕉| 色婷婷很很丝袜| 国产一级片| 丁香六月伊人| 欧洲第一久色| 人人舔天天| 伊人久久婷婷| 色色色激情| 色情五月| 久9精品| 超碰只有精品在线| 久久小说| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 久久久久99精品成人片| 操嫩逼电影| 亚洲成人在线播放| 久久99免费视屏| 六月婷基地| 五月丁香综合精品欧美| 久久受www免费人成| 色五月播五月| 婷婷五月天av| 一级黄在线| 99久久9| 超碰人人在线| 激情综合网五月婷婷| 丁香五月91| 五月天婷婷激情小说电影| 九月婷婷丁香| 人妻精品久久久久久久| 婷婷丁香综合| 色综合色| 欧美精品99久久久| 精品婷婷| 亚洲深喉AV| 成人精品视频99在线观看免费| 五月激情啪啪| 日本猛少妇色XXXXX猛叫| 啪啪综合网| 日本熟妇精品99| 超碰三级片| 色婷婷五月天久久| 久久网日本| 色色激情网| 五月伊人网| 五月丁香六月婷婷亚洲| 国产成人网站在线观看| 天天日,天天插| 超碰AV成人| 五月丁香婷婷综合久久| 99精品视频偷拍| 色播五月婷婷| 日本黄色三级片内射| 99性爱无码| 久久这里99| 色五月婷婷大| 婷婷五月天伊人| 91啪啪网| 九九热在线精品视频| 97在线观视频免费观看| 97人妻碰碰碰碰碰久久久久久| 色婷婷最新域名| 色婷婷性爱| 99在线热视频| 五月婷婷久久激情| 五月婷婷丁香婷婷| 丁香六月婷婷| 99久久五月天| 开心丁五月| 五月精品免费XXX| 99国产视频网| 大香蕉五月天| 五月天大香蕉AV| 色播五月天天| www五月天com| 少妇性按摩无码中文A片| 久久五月婷婷综合网| 无码九九九九| 久久A热| 色色色色色色色色网站| 成人无码精品1区2区3区免费看 | 狠狠干.com| 性爱激情久久| 精品成人a v无码内射| 亚洲综合激情五月| 超碰在线国产| 超碰电影在线播放| 久久这里有精品99| 久久久久er热| 老师把我爽高潮了免费A片| 久婷婷| 99re热久久| 色五月av| 涩丁香| www,超碰| 婷婷综合色播网| 免费啪啪亚州视频| 特黄三级又爽又粗又大| 欧美丁香六月在线观看视频| 国产色网站| A片试看50分钟做受视频| 99热黄| 爱射综合| 久久精品99久久久久久| 午夜丁香久久久久久| 久操人妻| 五月婷婷激情日本| 五月天婷婷丁香人人操91| www.丁香五月| 综合一区二区三区| 综合99在线| 五月婷婷中字在线| 丁香六月五月天| 99热人人操人人操| 国产美女精品| 91狠狠色丁香婷婷综合久久精品| 亚洲天堂啪啪| 99视频激情四射| 亚洲V国产V欧美V久久久久久| 五月丁香激| 人人草人人爱手机视频看看 | 99热99干| 成人版视频在线观看| 九九热这里只有精品一| 国产真实乱了老女人视频| 久久五月婷婷丁香| 亚洲色五月天| 五月停停色| 九九性视频| 国产毛多水多女人A片| 丁香久月| 伊人婷婷色| 久久久九九视频精品18| 婷婷日日夜夜| 好大好粗嗯啊-一级黄色大片免费观看-成人AV | 精品久久66| 99热成人| 凹凸7777操操操| 激情久久五月天| 亚洲无码AV片| 天天日天天色| 色天使色婷婷| 欧美在线视频免费播放| 婷婷色吧| 婷婷天堂综合| 天天爽成人综合网站| 五月丁香操婷逼| 五月婷婷色色网址| 中文在线成人| 操久久网| 天天日天天舔| 久久这里都是精品视频| 黄色国久久| 天天粽合合合合| 欧美婷婷| 互月天综合| 大伊香蕉精品视频在线| 激情久久综合网| 九九九九九999999| 99re热视频这里只精品| 4399在线观看免费毛片| 婷婷伊人綜合中文字幕小说| 九九综合久久丁香婷婷,开心激情综合网| 香蕉综合在线| 美女五月天婷婷| 97干在线视频| 伊人五月天婷婷| 天天日日| 五月天婷婷免费| 九九热re99re6在线精品| 色婷婷天堂| 久热超碰91| 亚洲综合无码| 五月天合网| 丁香五月婷婷基地| 天天摸夜夜夜| 欧美在线97| 婷婷91| .操區COm| 99在线免费视频播放| 婷婷亚洲欧美丁香五月| 婷婷中文在线| av操逼网| 男人天堂99| 久久丁香五月天| 99爱精品| 五月激情站| 热五月婷婷| 夜夜干 夜夜操| 可以免费看av网站| 人人草碰| www.操.com| 天天综合干| 婷婷丁香色女人| 草综合14| 怡红院院在线导航网| 久久se 综合网 | 777久久久| 97影院一级片| 婷婷丁香五月六月激情| 无码yw| 99热国产免费| 狠狠干在线| 日本精品99| 国产SUV精品一区二区6| 五月婷婷丁香啪啪| 久久这里99| 天堂亚洲 在线| 久婷婷| 天天爽人人爽| 99精品久久久久久久婷婷| EEUSS鲁片一区二区三区| 婷婷丁香五月天在线| 五月丁香色综合| 色情综合网| 亭亭五月色男人| 丁香五月激情啪啪| 久久国产高潮白浆免费观看99| 性一交一乱一交A片久久四色| 极品 少妇 内射| av线电影| 色九四色| 色婷婷六月| 99视频在线精品| 开心六月婷| 操逼视频网址| 大战熟女丰满人妻AV| 五月天婷婷丁香导航| 九九热九九| 久久久久亚洲AV成人无码电影| 九九色99| 色五月涩涩婷婷蜜桃| 久久精品噜噜噜成人A∨色欲| 亚洲综合成人网| 天天摸天天透天天舔| 就99这里只有精品| 99久久久| 亚洲综合久| 色网站9| 亚洲九九夜夜| 久久五月婷| 99久久五月婷婷| 丁香五月天欧美| 人伦30P| 91在线人| 久久这里只有精品视频15| 天天爽天天日| 99欧美| 亚洲色婷婷| 婷婷五月天丁香久久| 综合色99| 久久久人妻| 超碰在线精品| 精品在线网站| 色综合久久44| 久久婷婷五月综合色奶水99啪| 亚洲激情97五月天| 丁香五月综合在线观看| 天天爽天天做| 亚亚州久久高潮| a v色婷婷| 好吊操这里只有精品| 激情五月丁香五月| 黄色99视频| 久热AA| 香蕉伊人综合| 九色 在线| 97超碰99热99| 欧美色碰| 超碰日日操| 亚洲黄3级片网站欧美| 超碰在线资源| 国产视频婷婷| 操碰99| 五月丁香婷婷婷激情爱爱| 天天色综网| 天天做天天爱综合| 五月天婷久精视频| 99久久玖玖| 99免费热视频在线| 999婷婷综合| 玖玖在线| 亚洲综合99| 久热只有精品| 成人精品视频99在线观看免费| 99欧美| 婷婷六月色| 九九亚洲| 激情5月婷婷| 五月天丁香色色| 九色成人AV在线| 婷婷六月成人| 婷婷丁香五月激情密臀av| 亚洲免费av观看| 超碰色女| 欧美天天爽| 综合五月天亚洲婷婷| 二人电影免费版在线观看| 免费国产VA国产免费| 婷婷欧美激情综合| 五月丁香狠狠地噜噜噜噜| 婷婷五月情色| 丁香六月婷婷综合在线| 美国色五月天婷婷资源站| 情久久综合五月天| 婷婷丁香花五月天| 任你爽视频| 大香蕉啪啪啪| 果冻传媒A片一二三区| 激情5月婷婷| 久久五月天丁香花| 丁香花五月天激情| 五月香蕉综合| 婷婷五月丁香六月天亚洲综合| 天天干天天射综合网| 五月婷婷在线免费观看| 婷婷丁香成人色综合| 久久婷婷五月天激情四射| 色七色九九| 亚洲综合五月| 五六月婷婷久久| 激情五月综合色| 婷婷五月天狠狠| 九九免费视频| 日韩精品一曲二曲三曲四曲五曲| AV五月丁香| 成人免费在线电影| txt五月激情四射网综合俺也来了| 色婷视频| 日韩操人| 久久综合中文字幕| 五月婷婷五月丁香| 久久丁香综合精品综合| 丁香五月综合久久八| 天天插天天插| 99久久99九九99九九九| 久久婷婷超碰| 久热九九| 开心激情网五月| 综合久久高清| 久久se 综合网 | 日韩淑女人妻luan伦激情精品一区二| 五月丁香六月综合情在线观看| 亚洲视频a| 思思re视频在线| 综合伊人久久| 国产成人精品一区二区三区视频 | 六月成人网| 丁香狠狠操| 66精品国产成人| 五月天五月天成人网亭亭成人色网站| 色综合色色| av不卡网站| 色狠狠综合网| 亚洲婷婷五月天激情| 色www久视频| 人妻射精AV| 99国产在线| 国产激情综合五月久久| 五月天另类图片区99| 日日狠狠久久偷偷四色综合免费| 97亚洲精品| 天天视频亚洲| 婷久久久| 超碰97干| 在线五月婷婷小电影| 婷婷综合激情| 五月天婷婷色紫薇阁| 99∨VTV| 99碰在线视频| 久久精典| 欧美色六月婷婷| 99久久国产宗和精品1上映| 婷婷丁香六月五月天| 深爱五月婷婷| 五月婷婷插一插| 极骚大香蕉伊人| 91丨九色丨东北熟女| 九九伊人网| 国产伊人五月天| 五月丁香啪啪啪| 99久久综合精品五月天| 大香蕉啪啪啪啪啪啪| 五月丁香六月欧美综合网站| www色五月| 99热思思| 激情六月日韩| 综合色图区| 五月综合色| 蜜臀嫩草| 久久婷婷精品| 九九爱激情| 色色射| 久久婷丁香五月| 九九热最新视频| 热99视频| 亚洲第一成人无码A片| 五月天开心网| 五月六月伦理| 九九热在线视频观看| 性色播| 超碰国产一区| 激情婷婷丁香| 99精品视频网| 欧美天天性| 丁香花五月天婷婷成人社区| 五月婷婷丁香综合| 综合激情深爱| 久久永久视频| 激情五月婷婷| 日本99久久| 丁香五月人妻熟女| WWW久久久| 97色碰| 丁香婷婷基地| 婷婷五月天亚洲激情戏精品| 婷婷综合精品| 99精品偷自拍| 啪啪啪大香蕉| 五月综合视频| 成人丁香婷婷五月天| www.色色五月天.com| 欧洲电影在线观看免费版英语版 | 深夜男女福利刺激影院一区完整| 五月天婷婷中文字幕在线播放| 在线观看的av| www. 五月. com| 国产在线aaa片一区二区99| 99色热| 人人射av| WWW丁香五月| 91久久| 久草视频大香蕉99| 秋霞少妇AV网站| 丁香五月Av| 婷婷六月激情丁香| 亚洲射激情| 婷婷99狠狠躁天天| 丁香五月综合激情性爱| 超碰国产av| www.金莲av| 久久草大香蕉| 99久在线精品99re8| 网色99| 人人视频人人干人人做| 夜丁香五月婷婷| 天天性视频| 毛片新网地| 人操人| 99惹 精品在线| 成人精品视频99在线观看免费| 色五月丁香五月天| 另类国产欧美视频| 婷婷五月天av| 久久综合综合久久| 亚洲亚洲人成综合网络| 五月天综合视频| 九色视频91疯狂| 专区无日本视频高清8| 五月婷婷在线观看| 综合色色婷婷| 激情婷婷激情在线不卡| 99热超碰在线| www,av好吊操| 深爱女色婷婷丁香五月亚洲图区| 日韩成人电影Av| 五月天婷婷基地| 婷婷免费无视频| 色五月开心久久网| 99精品热视频| 乱色色色| 亚洲色婷婷色| 1区2区视频| 熟女人妻一区二区三区免费看| 五月婷婷五月天在线 | 丁香婷婷视频一区二区| 青青草性爱视频| 日日夜夜亚洲一区| 亚洲天堂热| 亚洲另类视频| 人人综合五月人人婷婷| 99自拍视频在线观看| 丁香花大香蕉婷婷综合| 成人丁香| 六月婷婷色色色| 色情综合网| 久久久久久久,99精品视频| 九月婷婷综合| 婷婷六月天| 丁香婷婷五月综合影院| 五月天婷婷综合久久| 激情五月天色色色| 综合色、色综合| 天天干夜夜想| 超碰在线播放免费观看| 婷婷爱五月| 六月婷婷五月天| 亚洲婷婷五月草久| 激情小说婷婷小说| 伊人激情啪啪| 免费亚洲成人电影AV| 99原创自拍视频在线观看| 亚洲黄色精品| 亚洲综合丁香婷婷六月天| 丁香婷婷五月激情| 在线观看亚洲AV| 婷色五月| 色五月婷婷五月天| 狠狠干狠狠色| 亚洲九九视频| 丁香六月啪| 天天摸天天做天天爱天天爽| 五月丁香亚洲婷婷| 国精产品一区二区三区| 亚洲情欲| 四色永久成人网站| 日本丰满久久| 成人av免费观看| 婷婷婷久久| 婷婷五月激情网| 欧美日韩成人在线观看| 97精品自拍视频| 色中色综合| 五月天婷婷丁香六月| 去干网最新版本亚洲版| 五月丁香久久综合精品| 99综合99| 久草xx性爱视频| 亚洲五月天伊人| 丁香五月中文字幕| 亚洲精品影视| www.zbzhongsen.com| 91婷色| 2016日日夜夜操| 国产操肏网站| 91精品人妻少妇无码影院| 久久99精品久久久久久青青AR| 日本天堂网站99| 大香焦A∨| 色九九九综合| 涩 五月 婷婷 狠狠| 综合久久六月| 亚洲精品**不卡在线播he| 九九99精品免费播放| 九九爱精品网站| 色色综合五月| www久久艹| 婷婷五月中文在线视频| 日本激情91| 色色五月天婷婷| 激情五月色婷婷| 成人精品视频99在线观看免费| 九九成人| 玖玖婷婷色欲| 综合超碰熟| 99爱爱网| 99re66热这里只有精品| 五月丁香婷婷激情久久| 色婷婷AV五月天| 五月婷婷丁香综合| 可以看的AV网站| 色色色五月婷| 久热免费视频| 丁香色婷婷色手机免费在线| 影音先锋秋秋五月婷婷| 国产乱轮一区二区三区| 97碰人人操| 亚洲午夜AV| 色久婷婷网| 欧美爆乳一区二区三区| 五月亭亭性| 色播婷婷大香蕉| 五月婷婷六月天| 日本女色人人| 热五月婷婷| 色婷| 九九九九九九九热| 99re鈥哸鈥唙| 婷婷金品综合视频| 色情终和网| 天天色综| 情欲综合网| 色爱五月天| 七七九色| 日本熟妇乱妇熟色A片蜜桃| 91窝窝| 免费国产视频| 丁香婷婷啪啪啪| 91精品国产99久久久久久天美| 综合色99| 婷婷人妻激情| www.99视频| 日日做天天操夜夜爽| 成人色图情色成人网 www.5b5b5bcom 五月天 | 婷婷成人在线| 狠狠操天天操综合| 丁香五月性| 婷婷色资源| 日本色道视频网站| 色婷婷久综合久久一本国产AV| 成人电影一区| 日本99婷婷| 亚洲精品无码久久| 久久色五月天激情小说| 啪啪一区| 影音先锋一区| 桃色五月天| 人妻日日日| 亚洲av综合网| 九九色色色| 草婷婷在线| 久久久WWW| 日韩小视频在线99| 婷婷六月丁香久| 97色色色色色| 国产FREESEXVIDEOS性中国| 婷婷内射视频在线| 欧美色五月天| 黄急一级视频| 狠狠 婷婷| 久久五月激情| 98色丁香五月婷婷综合网| 久久综合伊人综合在线| 狠狠干婷婷| 99在线视频观看| 久久这有这里精品| 丁香婷婷久久| 99乱视频| 婷婷五月天亚洲综合| 国产精品美女久久久久AV超清 | 国产激情综合五月久久| 婷婷人人操| 日韩性爱无码| 五月天色婷婷网| 色婷婷香蕉| AV在线观看网站| 久久这里有精品| 密视AV综合在线| www.狠狠干com| 国产精产国品一二三在观看| 色综合中文色综合网| 五月婷天天搞视频| 天堂二区| 五月婷婷欧美激情| 婷婷五月丁香青青草在线| 欧美激情五月综合| 欧洲色色| 有码人妻久久| 欧美电影在线播放| 久久99草五月婷婷| 人人草人人爱手机视频看看| 综合色七七| 色五月婷婷视频| 51精品国自产在线| 色 免费网站视频| 五月天综合网| www.色婷婷.com| 日本狠狠干| 日本波多野结衣视频| 久久丁香五月婷婷| 色噜噜狠狠狠综合曰曰曰| 噼里啪啦在线观看免费完整版视频| 精品久久99码| 色婷婷色99国产综合精品| 久久香蕉网| 九九99精品视频在线观看| 婷婷五月色花丁香社区| 97人人草| 国精产品一区二区三区| αv中文字幕在线观| 丁香六月婷婷色XXXX| 日韩av变天就操逼不卡区| 热久久视频99| 毛片九九九九九九| 色五月六月| 97久久五月丁香婷婷| 色综合久久88色综合天天看| 日本啪啪天堂| 色优久久| 欧美性爱5月天天天看| 在线免费视频caop| 五月婷婷狠狠干| 天天综合色99| 五月婷婷激情性爱| 乱女乱妇熟女熟妇综合网站| 日日操夜夜擼| 99热这里有精品| 激情综合五| 97五月天| 五月婷婷手机在线| 男女免费视频999| 欧美色色色色色色色| av无码电影| 激情色色色| 天天拍久久| 色色色天堂网| 99爱视频在线| 成 人 色 色| 极品色丁香| av九九| 色婷婷丁香香香蕉视频| 99色干| 亚洲亚洲人成综合网络| 婷婷99狠狠| 成人五月天婷婷| WWW.99热| 六月五月婷婷| www.久久久.com| 六六久久黄色| 99久久久久| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 99在线免费观看| 亚洲成人噜噜| 欧美色婷婷| 碰碰碰97国产| 五月婷婷中文字幕| 99热99色| 色婷婷丁香六月| 六月婷婷青青青视频| 91精品国产91久久久久青草| 久久桃花网色婷婷| 婷婷色情六月| 色五月开心婷婷| 免费成人中文字幕| 国产精产国品一二三在观看| 成人狠狠成人狠狠成人狠狠成人狠狠| 操逼六区| 九九精品9| www.久久| 99久久五月婷婷| 丁香五月婷婷亚洲综合精品在线| 激情久久久久久久久久| 国产在线网| 九九久久网| 综合噜噜| 六月婷婷五月丁香首页| 色色综合网。| 91丨九色丨东北熟女| 亚洲性爱电影| 婷婷五月天BBw| 亚洲 精品 综合 精品| 天天日夜夜欢| 99婷婷精品推荐在线视频| 日本色道视频网站| 婷婷五月天天爽| 婷婷婷色五月| 丁香五月婷婷色| av线电影| 狠狠干狠狠操狠狠爱| 丰满少妇猛烈A片免费看观看| 九月婷婷久久久| 久热这里只有| 婷婷成人综合五月| 夜夜人妻五月天| 99ri在线观看视频| 小色小蛇伊人婷婷色香五月| 五月丁香狠狠爱婷婷综合| 激情婷婷五月天| 超碰猛烈的性猛交| 久久久噜噜噜久久人妻| \\五月天婷婷激情| 久久婷婷六月| 怡红院 久久| 久久久18| 久久99久久久久久| 五月色亭丁香| 九九热视频精品999| av国产精品| 婷婷成人五月天| 婷香五月| 五月婷婷影院| 五月天婷婷五月| 欧美毛片www| 大香蕉综合网| 丁香色情五月综合激情| 五月婷婷欧洲| 婷婷综合在线网| 超碰免费观看| 婷婷综合国产| 9|在线观看视频| 婷婷丁香六月天激情四射网| 操逼综合激情网| 91女人18毛片水多国产| 日韩av在线播放综合网| 色吧网91| 欧美激情久| 欧美日韩五月婷婷| www.9色色色| 色综合久久无码| 99操不停| 99热99天堂| 狠狠狠狠草草| 五月婷免费视频| 亚洲成人另类| 99ri视频| 婷婷五月天日本国产| 婷婷五月天亚洲天堂| 日韩欧美四五区| 五月婷婷影视| www.天天干.com| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 天天操天天操综合| 99热精这里只有精品| 五月天婷婷黄色| 久久A V无码视频| 直接看的AV| 在线成人视频免费| 99精品在这里| 久久婷婷成人| 色婷婷丁香五月| 大地资源色婷婷视频在线| 精品一区久热| 亚洲热久| 丁香六月AV| 激情五月婷婷综合视频| 六月婷婷九月丁香亚洲综合| 色情五月综合婷婷| 夜夜操天天干| 欧美三级巜人妻互换| 99精日本久久| 影音先锋自拍网| 激情丁香久久| 大香蕉啪啪啪| 激情综合五月色丁香婷婷| 激情五月天在线免费美女视频| 欧美熟女99| 日日躁夜夜躁狠狠久久AV| 天天综合色99| 精品无码av丁香五月激情| 99免费视频精品| 五月深爱网| 香蕉综合在线| 天天干天天插| 日韩国产AV播放| 97视频久久| 青青草护士中出内射-欧美电影在线天堂新版 | 九艹在线| 日日夜夜噜噜爽爽| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 伊人超碰在线| 五月丁香综合网| 九九无码| 久久久久99精品成人片| 超碰在线免费观看日韩| 婷婷五月精品| 异能之下短剧免费观看全集| 五月丁香久久久| 五月婷婷深深爱| 久久精品国产一区二区三区四区| 成人做爰高潮A片免费视频| 久久嘟嘟丁香| 99热6这里只有精品6| 欧美va在线观看| av国产精品| 久久新| 五月婷婷激情69| 综合网亚洲| 综合久久伊人| 大香蕉啪啪啪| 久久538| 日本欧美成人片AAAA| 激情五月天的婷婷| 丁香六月婷婷久久综合| 天天成人综合视频| 五月天婷婷久久日| 久久刺激网| 亚洲9久久精品| 欧洲色| 99在线免费观看| 天天xxxxxx天天日| 久久婷五月综合色| 99视频超级精品| 伊人婷婷大香蕉| 综合福利网| 成人AV在线网站| 色五月av| 婷婷激情区| 亚州激情网| 综合久久99| 无码啪啪| 丁香情色五月| 国产精品扒开腿做爽爽爽A片唱戏 青青草国产亚洲精品久久 | 亚洲AV免费在线| 六月激情综合| 日日天天干| 欧美成人精品一区二区 | AV色婷婷| 亚欧州精品视频| 久久婷婷五月天激情四射| 欧美色九| 五月天婷婷高清无码| 天天粽合合合合| 5月婷婷综合| 五月婷婷五月天激情视频| 色色综合无码| 亚洲激情亚洲激情 | 亭亭五月丁香综合欧美| 丁香无五月网| 五月丁香激情五月天| 99久久成人| 久久成人精品视频| 五月停停999| 婷婷五月丁香久久| 狠狠做六月爱婷婷综合aⅴ| 日韩欧美五月丁综合| 天天做天天爱高潮片| 天天插天天狠| 天天AV导航网| 激情综合综合综合| www 五月天 com| 婷婷五月天 偷拍| 久久这里有精品在线观看| 五月成人综合| 日韩久热| 五月婷婷激情网| 四LLL少妇BBBB槡BBBB| 激情五月天网站| 国产毛片精品一区二区色欲黄A片| 五月婷色| 欧美色五月| 精品国产AV色一区二区深夜久久| 国产精品久久久久久久久久免费 | 日本乱子人伦在线视频| 色噜久| 久久无意婷婷| 91肏| 香蕉久久国产AV一区二区| 婷婷五月天丁香激情| AV堂狠狠干| 最新精品视频99| 久久婷婷五月天激情| 五月丁香六月在线| 天天日中文| 操日本三片99| 欧美三级欧美一级| 色婷婷丁香五月在线| www.成人婷婷综合| 久久久激情视频| 粉嫩AV久久一区二区三区| 日韩久久日| 婷婷五月天激情小说| 丁香涩涩五月天| 婷婷 伊人 久久| 中文字幕日产A片在线看| 亚洲第二AV| 激情欧美婷婷| 激情五月婷婷色| 五月天精品视频| 久久99最新地址| 人伦30P| www.五月天。com| 99人碰碰碰| 99热香港| 91久久婷婷| 草逼大片| 综合激情五月天| 久久久精品99| 影音先锋91| 噜噜噜色噜噜| 大香网伊人久久综合| 色婷婷yy久| 99热精品在线观看| 婷婷五月天亚洲| 亚洲第一黄网| 1024在线观看免费视频| 99热大全在线观看| 日韩黄色电影| 91综合国免费久入| 九九色中文| 深爱五月激情网| 五月激情综合网| 九月丁香久久网| 日韩九九视频| 黄色一级影片| 亚洲色婷婷久久99精品91| 丁香六月激| 天天噜| 久久免费高| 六月激情婷婷色| 久草五月婷婷| 免费亚洲婷婷| 欧美丁香五月97色| 婷婷五月蜜桃成人桃色丁香| 婷婷激情五月综合丁| 丁香五月天之婷婷影院| 九月婷婷综合| 大香蕉中文| 五月久久网| 天天日,天天插| 九九色热| 手机AVAV天堂看网| 99精品视频在线观看免费| 无码字幕中文| 色五月欧美| 婷婷伊人网| 久久er+| 丁香五月人妻| 99cao婷婷| 欧美性丁香色色五月天干干| 神马欧美精| 色情五月天婷婷| 热无码A∨| 五月丁香啪啪综合| 天堂网操| 无码人妻少妇色欲AV一区二区| 91人妻PORNY九色大屁股| 色五婷婷| 97久久超碰| 热996精品在线观看| 97香蕉久久超级碰碰高清版| 五月丁香六月婷精品视频| 最新日韩久热免费视频看看| 成人.在线日韩| 色五月播五月| 久99在线视频| 丁香五月天啪啪a日本| 色播五月丁香婷婷| 97天堂| 精品99在线看| 1024在线观看免费视频| 亚洲情综合五月天| 天天干,天天日| 丁香五月激情啪| 色五月婷婷色五月婷婷色五月婷婷| 丁香五月另类小说在线阅读| 日本97在线| 亚洲色图啪啪| 久久九九Com| 激情五月天婷婷| 色五月天婷婷| 九九热欧美| 色五月色五天免费视频| 久热a| 婷婷丁香六月激情综合| 综合激情五月四射婷婷| 人人97碰| 99热在这里只有精品| www.爱操com.| 天天做天天要天天爱| 黄网免费观看| 99riAV国产精品视频| 久月久在线视频| 被强行糟蹋的女人A片| 天天综合网在线| 久久久com| 婷婷五月天激情小说| 激情丁香五月天| 天天橾日日橾夜夜橾17| 开心五月丁香综合久久| 激情99。| 婷婷五月天伦理| www.夜夜夜| 99热在线免费观看精品| 国产亚洲在线| 综合久久婷婷五月丁香| 色综天天综合| 日日日,com| 性爱在线播放av| 久热这里只有精品在线观看 | 激情小说五月天| 在线观看国产高清视频免费网站| 婷婷色在线观看| 99在线精品免费视频| 伊人www22综合色| 午夜成人天堂久久无码日韩久久| 超碰人人超碰| 五月天久久久| 色色无码| 国产精品a无线| 五月天色综合| 国产午夜伦鲁鲁| H亚洲| 激情色情五月天| 丁香五月激情月| 久9无码视频| 国产人妻777人伦精品HD| 99在线观看| 99久久婷婷国产综合精品| 97色婷婷| 色色网站免费| 亚洲婷婷月丁香五月| 9久久久| 日韩免费视频| 亚洲婷婷乱乱丁香| 天天日天天狠狠操| 五月婷婷日本| 日韩无码AV电影网站| 国际国外精品欧洲南美洲专区无码不卡| 成年视频免费观看| www久久久久久久久久久久久久久久久| 久热中文字幕| 天天日日夜夜爽。| 欧美va亚洲va| 久碰婷婷视频| 婷婷五月丁香99| 婷婷五月综合在线| 婷婷综合六月| 激情六月丁香综合| 欧美日韩成人在线观看| 丁香婷婷六月| 99热在线只有精品| 婷婷刺激综合| 综合网天天| 无码一级片| 9l视频自拍9l视频自拍九色学生| 丁香五月婷婷深爱综合激情| 只有精品视频在线观看| 五月天婷婷深深爱| 色色日本欧美| 亚洲综合视频在线| 少妇2做爰HD韩国电影| 超碰五月婷婷五月天| 欧美 日韩 成人| 丁香色情五月天| 婷婷六月五月天综合| 婷婷色网站| 丁香六月天| av人人操| 欧美丁香婷婷天天操| 婷婷六月天精品| 91九色欧美| 五月天国产| 狠狠色中色| 五月丁香六月婷婷综合在线| 婷婷丁香五月综合激情小说| 超碰人人草| 五月婷婷丁香91| 欧美三级欧美一级| 国产精品蜜臀99| 日夜操B| 婷婷色色五月天| 久久久999精品| AV在线观看网站| 91碰视频| 色婷婷狠狠18| 99热网站| 久久精品婷婷五月丁香| 夜夜干夜夜操| 亚洲啪啪视频| 欧美va在线| 26uuu亚洲| 五月丁香婷婷成人版| 色五月婷色彩免播放器| 丁香五月综合久久八| www热久久yy9| 97人人草| 日逼影音先锋男人资源站| 久久99热这里只有| 日本va欧美va欧美va| 五月色婷婷综合丁香精品无遮挡| 丁香五月婷婷在线| www.九月婷婷丁香.com| 久狠日av| 五月综合色| 亚洲精品无人区| 亚洲久久视频| 中文字幕有多少字| 五月天综合色| 国产亚洲99久久精品| 丁香五月激情在线| 婷婷五月av| 欧美色99| 天天影视天天爽天天草| 日韩有码一区| 丁香五月在线观看综合| 婷婷色网| 午夜天堂一区人妻| 热中文字幕| 91日本在线| 丁香五月婷婷婷桃花影院| 五月天合网| 99免费视频| 人人操操| 色XX综合网| 色婷婷中文| 天天射影视综合网| 99无码精品| 99综合| 色五月丁香六月欧美综合| 国产视频色色色色色色色 | 天天操夜夜操| 丁香婷婷大香蕉| 色色网站日本91| 99九九在线精品热动漫| OUMEIRIHANCHENGREN| 日本超碰在线| 亭亭五月天成人| 日本性激情色播| 欧美内射AA| 亚洲愉拍99热成人精品| 极品少妇XXXX精品少妇偷拍| 国产色色小草视频| 色五月涩涩婷婷蜜桃| 色综合色综合色综合高潮| 99国产er热视频| 五月婷婷之美女图片| 亚洲超碰在线| 五月丁香婷婷色播无码| 婷婷久久综合久| 岛国AV网站| 极品人妻VIDEOSSS人妻| 国洲夜色亚热在线久久| site:pzdcoin.com| 免费啪啪亚州视频| 日本视频不卡123区| 99婷婷国产最新视频| 国产亚洲色婷婷99精品| 综合网啪啪| 六月丁香久久| 一本色道久久综合狠狠躁一二三 | 色五月丁香在线| 亚洲无码99| 亚洲色婷婷久久99精品91| 色综合久久88色综合天天99| 深爱五月激情| 狠狠操狠狠插| 婷婷色播婷婷| 91AV视频| 久久人妻系列| 五月天精品视频| 三人荫蒂添的好舒服A片| 色婷婷888| 丁香六月无码播放| 人人操99| 久久精品五月天| 激情五月婷婷色| 日本乱子人伦在线视频| 日韩精品一区二区亚洲AV观看| 五月婷婷手机在线| 久久久久9| 光棍影院日韩精品| 99热在线精品观看| 亚洲另类视频| 尤物一区二区| 婷婷五月综合网| 天天看夜夜看| 超喷97免费在线视频| 婷婷综合网站| 激情五月天婷婷| 五月天激情日色在线| 天天搽天天射| 99re思思热久久| 91丨九色丨熟女丰满| 日韩色色视频| 99精品高潮| 99ri精品在线| 婷婷玖玖丁香| 激情综合播播| 久久香蕉影院| 秋霞AV淫| www.日日夜夜.com| 麻豆科斗777| 99热欧美| 国产婷婷综合|