精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

轉(zhuǎn)轉(zhuǎn)上門履約服務(wù)拆分庫表遷移實踐

數(shù)據(jù)庫
本文主要介紹兩個數(shù)據(jù)遷移方案,一個是大家耳熟能詳?shù)臄?shù)據(jù)雙寫,另一個是以短暫寫入失敗為代價的開關(guān)控制遷移方案。

1.背景

隨著業(yè)務(wù)不斷發(fā)展,一個服務(wù)中部分功能模塊適合沉淀下來作為通用的基礎(chǔ)能力。作為通用的基礎(chǔ)能力,對提供的服務(wù)可用性和穩(wěn)定性有較高的要求,因此把該部分功能模塊拆分出來,單獨一個服務(wù)是比較好的選擇。為了更好的與業(yè)務(wù)服務(wù)物理隔離,不僅需要從代碼層面拆分,數(shù)據(jù)庫層面也需要拆分。在做技術(shù)方案設(shè)計時面臨著以下幾個問題:

  • 遷移過程中是否允許停服?如果停服,停服時間窗口如何做到盡可能短?
  • 舊庫表數(shù)據(jù)如何遷移到新庫?
  • 遷移后如何保證舊庫表數(shù)據(jù)與新庫表數(shù)據(jù)一致?

2.數(shù)據(jù)遷移方案

面向C端用戶的場景,我們可能會脫口而出一個數(shù)據(jù)雙寫的方案。面向B端用戶場景,可能直接暴力停服遷移。很多時候線上業(yè)務(wù)場景都是讀多寫少,如果把上面兩個方案折衷一下也是一個不錯的遷移方案。

下面介紹兩個數(shù)據(jù)遷移方案,一個是大家耳熟能詳?shù)臄?shù)據(jù)雙寫,另一個是以短暫寫入失敗為代價的開關(guān)控制遷移方案。

2.1  方案一:雙寫新舊庫

雙寫的遷移流程如下圖所示:

圖片

雙寫遷表圖-1

  • 新舊庫數(shù)據(jù)同步:由DBA協(xié)助完成舊庫表數(shù)據(jù)遷移到新庫,并使用增量同步工具把舊庫表數(shù)據(jù)同步到新庫。
  • 開啟雙寫:業(yè)務(wù)服務(wù)遷庫代碼改造上線,在業(yè)務(wù)寫入低峰期校驗新庫與舊庫表數(shù)據(jù)一致后,DBA斷開舊庫與新庫的同步,業(yè)務(wù)服務(wù)同步開啟寫新庫開關(guān),開始雙寫。
  • 讀新庫:校驗新庫與舊庫表數(shù)據(jù)一致后,讀流量切換到新庫進(jìn)行數(shù)據(jù)驗證,驗證期間有問題可以隨時切換回舊庫。
  • 代碼清理:讀寫流量全量切換新庫,下線寫舊庫代碼。

采用雙寫方案遷移庫表可以做到用戶無感知的平滑切換,驗證過程中發(fā)現(xiàn)問題可以及時回滾。

雙寫引入了多個數(shù)據(jù)源,項目中如果使用了事務(wù),面臨著跨庫事務(wù),對事務(wù)代碼塊的改動成本相對較大。同時還面臨著同步雙寫和異步雙寫的選擇:

  • 同步雙寫:新舊庫的數(shù)據(jù)一致性有保障,寫新庫失敗會影響現(xiàn)有的業(yè)務(wù)。
  • 異步雙寫:寫新庫失敗會導(dǎo)致數(shù)據(jù)不一致,不影響現(xiàn)有業(yè)務(wù),需要額外的補償方案保證新舊庫數(shù)據(jù)的最終一致。

2.2 方案二:灰度開關(guān)切換新舊庫

該方案不涉及雙寫,在代碼里根據(jù)開關(guān)控制使用新庫還是舊庫,切換流程如下圖所示:

圖片

圖-2

  • 新舊庫數(shù)據(jù)同步:DBA協(xié)助先將舊庫表數(shù)據(jù)遷移到新庫,然后再使用增量同步工具把舊庫表數(shù)據(jù)同步到新庫。
  • 驗證讀新庫:改造好的業(yè)務(wù)服務(wù)部署后,新庫與舊庫保持增量同步,開啟讀新庫開關(guān),讀流量切換到新庫進(jìn)行驗證,驗證過程出現(xiàn)問題可以通過控制開關(guān)切回讀舊庫數(shù)據(jù)
  • 新舊庫切換:整個切換流程的核心,改造好的業(yè)務(wù)服務(wù)上線。先切斷對舊庫的寫入流量,讓新庫與舊庫的增量同步追平,同時校驗新庫與舊庫表數(shù)據(jù)的一致性,一致時便可把寫流量切換到新庫。
  • 代碼清理:業(yè)務(wù)服務(wù)讀寫流量均切換到新庫。

④為什么要把寫流量切換到舊庫的從庫?

寫流量切換到舊庫的從庫目的是為了斷開對舊庫相應(yīng)表的寫入流量,營造相對“靜止”的環(huán)境讓新庫可以追上舊庫。切斷對舊庫寫入流量的方式有很多,選擇寫從庫的方式來主要為了讓開關(guān)都收攏到一處。

除此之外,我們可以對數(shù)據(jù)庫帳號授權(quán)的形式來實現(xiàn)寫流量的斷開:

REVOKE INSERT, UPDATE, DELETE ON database_name.table_name FROM 'username';

從上述步驟中可以看到該方案有個硬傷:有短暫的停服過程。優(yōu)點是確保遷移到新庫的數(shù)據(jù)一定與舊庫一致的,對有使用事務(wù)的場景,不需要考慮跨庫事務(wù),代碼改造成本低。

3.遷移細(xì)節(jié)

我們要改造的業(yè)務(wù)服務(wù)代碼中涉及聲明式事務(wù)和編程式事務(wù),為了降低跨庫事務(wù)帶來的改造成本,并結(jié)合上門履約的業(yè)務(wù)場景——業(yè)務(wù)數(shù)據(jù)寫入多集中于白天,我們最終采用了“灰度開關(guān)切換新舊庫”方案。

3.1 業(yè)務(wù)代碼改造

需要遷移的表數(shù)量不多,實現(xiàn)時對DAO層代碼進(jìn)行改造,抽取ProxyDAO層,原來對DAO層的方法調(diào)用全部替換成ProxyDAO,ProxyDAO層代碼植入開關(guān)控制代碼,根據(jù)開關(guān)決定訪問新庫舊庫。

圖片

圖-3

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

創(chuàng)建好新庫后,DBA將舊庫需要遷移的表數(shù)據(jù)全量同步一次到新庫,然后使用PingCAP的數(shù)據(jù)導(dǎo)入工具——Syncer,使用該工具進(jìn)行數(shù)據(jù)增量同步需要滿足以下前提:

  • 5.5 < MySQL 版本 < 8.0
  • 開啟binlog,并且格式為ROW,且binlog_row_image必須設(shè)置為為FULL

從Syncer架構(gòu)圖不難看出:同步時Syncer把自己偽裝成一個 MySQL Slave,和 MySQL Master 進(jìn)行通信,然后不斷讀取 MySQL binlog,進(jìn)行 binlog 事件解析,規(guī)則過濾和數(shù)據(jù)同步。

圖片

圖-4

3.3 數(shù)據(jù)一致性校驗

不管是雙寫還是灰度開關(guān)切換新舊庫的方案,都繞不開數(shù)據(jù)一致性校驗。數(shù)據(jù)不一致如何產(chǎn)生的?

圖片

圖-5

雙寫新舊庫可能產(chǎn)生數(shù)據(jù)不一致的場景:

  • 圖-5③:DBA檢測新舊庫無差異后關(guān)閉同步,寫新庫開關(guān)未開啟前舊庫來了寫入的流量
  • 圖-5③/④:雙寫后使用異步方式雙寫新庫寫入失敗

灰度開關(guān)切換新舊庫可能產(chǎn)生數(shù)據(jù)不一致的場景:

  • 圖-5c/d:數(shù)據(jù)同步工具掛了

我們所使用的遷移方案需要重點關(guān)注新舊庫的同步情況,為此我們做了2層數(shù)據(jù)校驗:

  • DBA在舊庫寫流量關(guān)閉后對數(shù)據(jù)進(jìn)行一致性校驗
  • 業(yè)務(wù)服務(wù)寫個定時任務(wù)定期去抽樣校驗

MySQL主從模式下可以通過show slave status 命令查看主從延遲情況,根據(jù)Seconds_Behind_Master的值是否為0來判定是否有延遲,有延遲2個庫的數(shù)據(jù)肯定不一致。上面提到我們增量同步使用的是Syncer,它只是偽裝成從庫,并不是真正的從庫,使用MySQL主從模式下數(shù)據(jù)一致性校驗方法行不通了,因此借助了PingCAP官方提供的sync-diff-inspector工具進(jìn)行數(shù)據(jù)一致性校驗。

sync-diff-inspector工具架構(gòu)圖如下所示:

圖片

圖-6

sync-diff-inspector校驗流程主要分以下步驟:

  1. 對需要比較的表數(shù)據(jù)使用多線程方式劃分為多個chunk,采用生產(chǎn)者-消費者模型將劃分的chunk放入隊列里
  2. 消費者線程從隊列取出劃分好的chunk,對這個chunk的上下游數(shù)據(jù)對比,計算出checksum
  3. 某個chunk的上下游checksum如果不一致,則對該chunk二分法方式找出不一致的數(shù)據(jù),生成修復(fù)SQL

使用sync-diff-inspector工具對新舊庫表全量校驗后數(shù)據(jù)基本可以保障一致,不過該工具使用的前提是需要保證數(shù)據(jù)校驗期間被校驗的表上下游都沒有數(shù)據(jù)寫入。從校驗工具的工作原理來看,校驗耗時跟數(shù)據(jù)量成正比,遷移的數(shù)據(jù)越多校驗時間越長,如果對全量數(shù)據(jù)的校驗,校驗周期會變得特別長。

根據(jù)目前業(yè)務(wù)現(xiàn)狀,已經(jīng)到終態(tài)的冷數(shù)據(jù)基本不會有寫入操作。為盡可能縮短寫入失敗時間,業(yè)務(wù)數(shù)據(jù)校驗的重點放在近期修改過的數(shù)據(jù)。冷數(shù)據(jù)不需要每次一致性校驗時都參與進(jìn)來。可以根據(jù)更新時間作為篩選條件,在新舊庫抽取最近一段時間內(nèi)修改過的數(shù)據(jù),逐行對比數(shù)據(jù)是否一致,校驗流程如下圖所示:

圖片

圖-7

對舊庫和新庫按照更新時間篩選數(shù)據(jù)時,使用多線程并發(fā)的方式取數(shù),盡可能減少時間差。根據(jù)更新時間篩選數(shù)據(jù)時,我們可能很自然的寫出了下面的SQL:

select * from  table  where update_time >= X;

圖片

串行執(zhí)行相同查詢時序圖圖-8

這個SQL如果使用單線程串行的方式執(zhí)行,后面執(zhí)行查出來的結(jié)果大概率會跟先執(zhí)行的不一樣。因為SQL篩選數(shù)據(jù)本身也會有耗時,特別是篩選時間范圍比較大的時候,需要掃描更多的數(shù)據(jù),耗費的時間越長。SQL篩選數(shù)據(jù)期間修改的數(shù)據(jù),對先執(zhí)行的SQL來說是不可見的。

校驗時先對冷數(shù)據(jù)做一次全量校驗,之后每次都是校驗最近修改的,這樣可以大大縮小查詢范圍,縮短校驗數(shù)據(jù)一致性的時間。查詢條件使用了上界和下界限定條件,保障了統(tǒng)計口徑是一致的。校驗代碼消耗的時間,作為下一次迭代使用的時間偏移量,當(dāng)“新舊庫查詢結(jié)果都為空”時表明最近都沒有數(shù)據(jù)寫入,并且N-S的時間差足夠小,是可以認(rèn)為兩個庫的表數(shù)據(jù)是一致的,這個時候把流量自動切換到新庫可以實現(xiàn)平滑遷庫。

N-S的時間差在什么量級?

初始時這個時間差會比較大,整個迭代過程中首次使用的更新時間篩選范圍一般是最大的,除非一次取數(shù)時間加上程序校驗時間的耗時比初始指定的偏移量K大。更新時間篩選范圍會隨著迭代越來越小,在寫流量低峰期,SQL查出的數(shù)據(jù)也會越來越少,直至查不出數(shù)據(jù)。這個時間差差不多就是一條根據(jù)更新時間查數(shù)據(jù)的時間。如果更新時間是索引,查詢的時間范圍很小,N-S的時間差最優(yōu)情況下是毫秒級的。

4.總結(jié)

最終我們采用保守的方式——舊庫寫流量切換從庫,沒有使用平滑切換的方案。以業(yè)務(wù)數(shù)據(jù)校驗為主,DBA層數(shù)據(jù)校驗為輔完成數(shù)據(jù)的遷移。整個過程讀流量正常,寫流量在切換到舊庫從庫 → 新舊庫增量數(shù)據(jù)一致性校驗 → 寫流量切換到新庫期間會失敗,流量低谷期寫入失敗時間不超過5秒。

我們選擇短暫停服的技術(shù)方案,這個方案雖然不是最優(yōu)的,但是會跟業(yè)務(wù)更匹配,方案簡單,改造成本低,對業(yè)務(wù)影響范圍更小。技術(shù)方案的選擇一定是貼合實際業(yè)務(wù)場景的,脫離業(yè)務(wù)場景的所謂最優(yōu)方案不過是空中樓閣,當(dāng)真正踏出登樓第一步時可能就坍塌了。

服務(wù)拆分&數(shù)據(jù)遷移對技術(shù)功底要求不那么高,并不需要使用高深的技術(shù),更多的是考驗一個人細(xì)心程度,對每個細(xì)節(jié)的深入思考與把控。失之毫厘,差之千里,一個細(xì)節(jié)沒處理好,可能就會帶來災(zāi)難性問題。

以上就是筆者在服務(wù)拆分庫表遷移時的實踐過程,大家還有什么好的平滑遷移庫表數(shù)據(jù)的方法歡迎到評論區(qū)留言。

5.參考資料

  • 解析 TiDB 在線數(shù)據(jù)同步工具 Syncer:https://cn.pingcap.com/blog/tidb-syncer
  • PingCAP 文檔:https://docs.pingcap.com/zh/tidb/stable/sync-diff-inspector-overview
責(zé)任編輯:龐桂玉 來源: 轉(zhuǎn)轉(zhuǎn)技術(shù)
相關(guān)推薦

2023-03-02 08:54:32

2023-03-02 08:32:41

2025-07-18 12:20:12

2024-07-12 07:08:06

2023-02-08 09:42:30

策略方式容量

2019-11-12 09:54:20

分庫分表數(shù)據(jù)

2023-11-01 07:44:29

轉(zhuǎn)轉(zhuǎn)Flutter業(yè)務(wù)

2024-07-26 00:16:11

2022-11-07 14:45:26

轉(zhuǎn)轉(zhuǎn)價格DDD

2023-12-27 19:12:42

OLAP自助分析

2018-03-14 09:49:35

數(shù)據(jù)庫遷移

2024-09-04 09:36:27

2022-12-15 08:35:01

用戶畫像平臺

2017-07-19 15:19:19

數(shù)據(jù)庫DB分庫實施策略

2018-08-14 18:00:14

數(shù)據(jù)庫分庫分表表拆分

2023-03-22 08:32:35

2022-10-28 09:15:02

2022-02-23 08:55:06

數(shù)據(jù)遷移分庫分表數(shù)據(jù)庫

2021-05-08 18:50:57

分庫分表中間件

2022-10-28 08:31:43

點贊
收藏

51CTO技術(shù)棧公眾號

国产男女无遮挡| 国产精品18毛片一区二区| 国产熟女一区二区| 只有精品亚洲| 亚洲国产成人高清精品| 人禽交欧美网站免费| 在线观看xxxx| 亚洲东热激情| 最新的欧美黄色| 一级黄色电影片| 中文字幕系列一区| 亚洲成人资源网| 亚洲欧洲在线一区| 天天干天天做天天操| 久久99国产精品免费| 午夜精品视频在线| 精品一区二区三孕妇视频| 网站一区二区| 欧美日韩激情在线| 三上悠亚久久精品| 黄色网页在线免费看| 91看片淫黄大片一级在线观看| 国产欧美亚洲精品| 国产成人免费看| 欧美在线首页| 色婷婷综合久久久久| 国产精品无码永久免费不卡| www一区二区三区| 在线精品亚洲一区二区不卡| 91免费黄视频| 中文字幕资源网在线观看| 国产欧美日韩不卡| 欧美日韩一区在线播放| 免费av网站观看| 国内精品国产三级国产a久久 | 超碰人人人人人人人| 久久亚洲黄色| 精品国产亚洲在线| 两女双腿交缠激烈磨豆腐| 久久99久久久精品欧美| 色成人在线视频| 无码播放一区二区三区| 啦啦啦中文在线观看日本| 综合色中文字幕| 最新不卡av| 日本蜜桃在线观看| 欧美国产成人精品| 色一情一乱一伦一区二区三区丨| 青青免费在线视频| 91色.com| 美乳视频一区二区| 视频在线不卡| 久久免费精品国产久精品久久久久 | 一区二区三区四区久久| eeuss影院www在线观看| 欧美激情一区不卡| 艳色歌舞团一区二区三区| www.久久热.com| 中文字幕欧美日本乱码一线二线| 日韩精品久久一区| 国产区在线视频| 欧美激情在线一区二区| 色就是色欧美| 巨大荫蒂视频欧美另类大| 国产精品久久久久精k8| 中文字幕欧美日韩一区二区| 黄色精品免费看| 亚洲在线视频网站| 国产免费毛卡片| 午夜日韩成人影院| 欧美亚洲国产一区二区三区 | 久久一级黄色片| 亚洲福利免费| 日韩av成人在线观看| 久久精品五月天| 美国三级日本三级久久99| 成人免费看黄网站| 性做久久久久久久久久| 成人av在线看| 日韩精品一线二线三线| 免费黄网站在线| 亚洲综合久久av| 免费在线a视频| 巨胸喷奶水www久久久免费动漫| 欧美三级电影在线看| www.亚洲自拍| 日韩av三区| 日韩一区二区欧美| 久久网免费视频| 日韩精品亚洲一区二区三区免费| 国产欧美日韩视频| 国内爆初菊对白视频| 久久色在线观看| 老司机午夜网站| 性欧美18~19sex高清播放| 欧美性猛交xxxx黑人交| 国模大尺度视频| 国产成人手机高清在线观看网站| 日韩一级黄色av| 国产区在线观看视频| 日本va欧美va精品发布| 国产成人精品自拍| jyzzz在线观看视频| 亚洲国产va精品久久久不卡综合 | 久久99精品国产| 精品在线视频一区二区| 黄网站app在线观看| 精品成人乱色一区二区| 九一精品久久久| 久久不见久久见免费视频7| 欧美成人午夜视频| 无码人妻av免费一区二区三区| 国产综合色视频| 日本不卡在线播放| 黄页在线观看免费| 欧美日韩国产一二三| 亚洲最大的黄色网| 伊人情人综合网| 国产精品美女在线观看| 三级理论午夜在线观看| 亚洲一区二区中文在线| 一区二区三区视频网| 亚洲欧美成人vr| 欧美精品videossex性护士| 一区二区视频网站| 久久精品一区八戒影视| 黄色一级片在线看| 视频免费一区二区| 久久香蕉国产线看观看av| www.欧美色| 不卡的av电影| 国产精品三级一区二区| 成人国产精品一区二区网站| 国产一区二区三区四区福利| 亚洲男人的天堂在线视频| 国产成人8x视频一区二区| 致1999电视剧免费观看策驰影院| 91tv亚洲精品香蕉国产一区| 亚洲女人被黑人巨大进入al| 国产黄色片免费看| 成人国产视频在线观看| av片在线免费| 亚洲视频一起| 欧美高清性猛交| 性生活黄色大片| 一区二区三区不卡在线观看| 色哟哟免费视频| 综合在线视频| 国产精品一区二区三区成人| 福利视频在线导航| 欧美性xxxxx极品少妇| 免费视频91蜜桃| 日韩国产高清在线| 午夜一区二区三区| 国产精品久久久久久久久久齐齐| 在线成人激情黄色| 亚洲图片在线播放| 成人免费一区二区三区视频 | 国产电影一区| 欧美精品手机在线| 精品国自产在线观看| 亚洲午夜在线视频| jlzzjizz在线播放观看| 免费国产自线拍一欧美视频| 日韩福利一区二区三区| 欧美色片在线观看| 久久视频免费在线播放| 精品国产一级片| 精品欧美aⅴ在线网站| 久久久国产精品无码| 久久电影一区| 亚洲免费不卡| 久久9999免费视频| 国内揄拍国内精品少妇国语| 青青草手机在线| 欧美天天综合网| 国产精品国产精品88| 国产成人精品影视| 欧美精品色婷婷五月综合| 国产一区二区观看| 91在线观看免费网站| 182在线视频观看| 亚洲偷欧美偷国内偷| 国产99对白在线播放| 婷婷综合在线观看| 韩国一级黄色录像| 成人精品免费看| 在线免费视频a| 欧美日韩伊人| 茄子视频成人在线观看| 国产午夜久久av| 日本亚洲欧美三级| av在线网址观看| 精品视频一区在线视频| 国产一区二区在线视频观看| 五月天中文字幕一区二区| 91精品国自产在线| 成人免费观看视频| 一区二区三区视频在线观看免费| 欧美激情亚洲| 亚洲国产高清国产精品| 高潮久久久久久久久久久久久久| 国产精品白嫩美女在线观看| 欧美videossex| 在线免费观看羞羞视频一区二区| 开心激情综合网| 欧美精品视频www在线观看| 日本一级片免费看| 亚洲男人的天堂av| 精品无码人妻一区二区免费蜜桃| 国产精品888| 婷婷激情四射五月天| 国产午夜精品一区二区三区欧美| 日韩不卡一二区| 精品久久国产| 久久国产精品-国产精品| 国产精一区二区| 国产精品美女在线| 亚洲精品mv| 久久人人爽人人爽人人片av高清| 黄视频网站在线看| 亚洲最大中文字幕| 全部免费毛片在线播放网站| 日韩精品一区二区三区四区 | 国产精品综合在线视频| 韩国视频一区二区三区| 亚洲欧美久久久| 成人午夜免费在线| 亚洲一本二本| 中文精品一区二区三区| 清纯唯美日韩| 日韩av一级大片| 国产精品一国产精品| 久久精品国产一区二区三区日韩| 粉嫩一区二区三区四区公司1| 亚洲自拍偷拍色图| 999色成人| 91九色单男在线观看| 韩国理伦片久久电影网| 国产精品高潮视频| 日韩av免费| 国产精品露脸av在线| 午夜精品成人av| 国产精品高潮呻吟久久av野狼| 日韩在线免费| 国产精品嫩草影院久久久| 视频在线日韩| 国产日韩欧美在线播放| 男人亚洲天堂| 成人黄色短视频在线观看| 亚洲男人在线| 91视频免费在线| 深夜福利一区| 国产亚洲一区在线播放| 欧美丝袜美腿| 欧美一进一出视频| 狠狠做深爱婷婷综合一区| 色姑娘综合网| 在线观看国产精品入口| 国产一区二区三区在线免费| 很黄很黄激情成人| 久久精品免费一区二区| 久久天天综合| 亚洲最大综合网| 国产高清在线观看免费不卡| 高清中文字幕mv的电影| www一区二区| 成年人在线免费看片| 中文字幕亚洲一区二区av在线| 日韩福利小视频| 亚洲图片欧美色图| 伊人手机在线视频| 欧美日韩高清一区二区三区| 99热这里只有精品在线| 亚洲精品福利资源站| 成人动漫在线播放| 久久艳片www.17c.com | 成人在线国产精品| 4438全国亚洲精品观看视频| 久久精品国产美女| 天天天综合网| 秋霞无码一区二区| 蜜桃视频在线观看一区| 制服.丝袜.亚洲.中文.综合懂| 成人av网在线| 四虎地址8848| 午夜精品久久久久影视| 亚洲无码精品在线播放| 精品国产一区二区三区不卡| 国产区av在线| 欧美激情在线有限公司| 99久久er| 国产精品免费一区二区三区四区| 国产一区二区三区四区| 777久久精品一区二区三区无码 | 黄色av电影网站| 中文字幕欧美日韩一区| 国产亚洲精品久久久久久打不开| 日本大香伊一区二区三区| 精品国产无码一区二区三区| 在线观看久久av| h片在线观看视频免费| 国产免费久久av| 在线观看欧美理论a影院| 青青草原网站在线观看| 日韩国产在线观看| 午夜男人的天堂| 亚洲美女视频一区| 国产精品xxxxxx| 日韩av中文字幕在线免费观看| 欧洲日本在线| 国产精品av网站| 欧美大胆视频| 国产欧美精品aaaaaa片| 精品一区二区三区在线播放视频| 色婷婷av777| 亚洲高清免费一级二级三级| 国产情侣av在线| 中文字幕亚洲欧美日韩高清| 欧美激情20| 国产伦理一区二区三区| 中文在线日韩| 中文字幕66页| 国产精品色哟哟网站| 国产成人无码专区| 日韩毛片在线看| 亚洲天堂免费电影| 黑人中文字幕一区二区三区| 午夜欧美理论片| 欧美xxxx黑人| 亚洲综合一区二区三区| 99在线观看精品视频| 久久久91精品国产一区不卡| 亚洲91在线| 综合操久久久| 国产一区二区成人久久免费影院| 免费成人深夜蜜桃视频| 欧美日韩性生活| 欧美一区二区三区| 成人免费视频网址| 一本一本久久a久久综合精品| 色一情一区二区三区| 国产精品久久久一本精品| 中文在线资源天堂| 中文字幕在线亚洲| 色999久久久精品人人澡69| 亚洲在线播放电影| 精品在线免费观看| 一区二区三区影视| 日韩三区在线观看| av在线资源| 久久av一区二区| 天堂va蜜桃一区二区三区漫画版| 欧美偷拍一区二区三区| 欧美制服丝袜第一页| av网站大全在线观看| 成人免费福利视频| 影音先锋亚洲电影| 99久久免费看精品国产一区| 一本久道中文字幕精品亚洲嫩| jizz亚洲| 成人av男人的天堂| 日韩午夜免费视频| 日本一级免费视频| 6080亚洲精品一区二区| 韩国成人免费视频| 蜜桃久久影院| 精品一区中文字幕| 毛片aaaaa| 亚洲精品永久免费| 国产极品一区| www.在线观看av| 久久青草欧美一区二区三区| 在线观看毛片av| 欧美国产亚洲视频| 欧美一级全黄| 亚洲综合日韩欧美| 亚洲已满18点击进入久久| 青青草免费在线| 成人看片人aa| 亚洲美女一区| 91无套直看片红桃在线观看| 日韩视频免费观看高清完整版在线观看| 丁香花在线影院| 亚洲高清乱码| 成人av电影在线观看| 一区二区乱子伦在线播放| 欧美大片免费观看| 欧美限制电影| 91丨porny丨对白| 欧美综合一区二区| 成人影音在线| 亚洲欧洲国产日韩精品| 91亚洲男人天堂| 国产丝袜在线视频| 国产精品jizz在线观看麻豆| 亚洲视频碰碰| 国产精品99久久久久久成人| 亚洲精品乱码久久久久久金桔影视| 欧美在线一级|