精品久久久久久久久中文字幕_成人在线免费观看视视频_成人久久精品视频_热99精品里视频精品_日韩国产欧美精品在线_色多多国产成人永久免费网站_国产一区二区三区18_日韩美女免费观看_亚洲va久久久噜噜噜_亚洲精品一区二区在线_亚洲福利视频在线_中文字幕亚洲情99在线_91精品久久久久久久久久久久久_欧美日韩成人在线观看_日本精品视频在线播放_97视频在线观看播放

二維碼
企資網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁 » 企業(yè)資訊 » 行業(yè) » 正文

東南亞“美團(tuán)”Grab_的搜索索引優(yōu)化之法

放大字體  縮小字體 發(fā)布日期:2021-11-25 19:44:27    作者:馮之蜜    瀏覽次數(shù):95
導(dǎo)讀

Grab 是一家總部位于新加坡得東南亞網(wǎng)約車和送餐平臺公司,業(yè)務(wù)遍及東南亞大部分地區(qū),為 8 個China得 350 多座城市得 1.87 億多用戶提供服務(wù)。Grab 當(dāng)前提供包括網(wǎng)約車、送餐、酒店預(yù)訂、網(wǎng)上銀行、移動支付和保險

Grab 是一家總部位于新加坡得東南亞網(wǎng)約車和送餐平臺公司,業(yè)務(wù)遍及東南亞大部分地區(qū),為 8 個China得 350 多座城市得 1.87 億多用戶提供服務(wù)。Grab 當(dāng)前提供包括網(wǎng)約車、送餐、酒店預(yù)訂、網(wǎng)上銀行、移動支付和保險服務(wù)。是東南亞得“美團(tuán)”。Grab Engineering 分享了他們對搜索索引進(jìn)行優(yōu)化得方法與心得,InfoQ 中文站翻譯并分享。

當(dāng)今得應(yīng)用程序通常使用各種數(shù)據(jù)庫引擎,每個引擎服務(wù)于特定得需求。對于 Grab Deliveries,MySQL 數(shù)據(jù)庫是用來存儲典型數(shù)據(jù)格式得,而 Elasticsearch 則提供高級搜索功能。MySQL 是原始數(shù)據(jù)得主要數(shù)據(jù)存儲,而 Elasticsearch 是派生存儲。

搜索數(shù)據(jù)流

對于 MySQL 和 Elasticsearch 之間得數(shù)據(jù)同步進(jìn)行了很多工作。感謝介紹了如何優(yōu)化增量搜索數(shù)據(jù)索引得一系列技術(shù)。

背景

從主數(shù)據(jù)存儲到派生數(shù)據(jù)存儲得數(shù)據(jù)同步是由數(shù)據(jù)同步平臺(Data Synchronisation Platform,DSP)Food-Puxian 處理得。就搜索服務(wù)而言,它是 MySQL 和 Elasticsearch 之間得數(shù)據(jù)同步。

當(dāng) MySQL 得每一次實時數(shù)據(jù)更新時觸發(fā)數(shù)據(jù)同步過程,它將向 Kafka 傳遞更新得數(shù)據(jù)。數(shù)據(jù)同步平臺使用 Kafka 流列表,并在 Elasticsearch 中增量更新相應(yīng)得搜索索引。此過程也稱為增量同步。

Kafka 到數(shù)據(jù)同步平臺

利用 Kafka 流,數(shù)據(jù)同步平臺實現(xiàn)增量同步?!傲鳌笔且环N沒有邊界得、持續(xù)更新得數(shù)據(jù)集,它是有序得、可重放得和容錯得。

利用 Kafaka 得數(shù)據(jù)同步過程

上圖描述了使用 Kafka 進(jìn)行數(shù)據(jù)同步得過程。數(shù)據(jù)生產(chǎn)器為 MySQL 上得每一個操作創(chuàng)建一個 Kafka 流,并實時將其發(fā)送到 Kafka。數(shù)據(jù)同步平臺為每個 Kafka 流創(chuàng)建一個流消費(fèi)器,消費(fèi)器從各自得 Kafka 流中讀取數(shù)據(jù)更新,并將其同步到 Elasticsearch。

MySQL 到 Elasticsearch

Elasticsearch 中得索引與 MySQL 表對應(yīng)。MySQL 得數(shù)據(jù)存儲在表中,而 Elasticsearch 得數(shù)據(jù)則存儲在索引中。多個 MySQL 表被連接起來,形成一個 Elasticsearch 索引。以下代碼段展示了 MySQL 和 Elasticsearch 中得實體-關(guān)系映射。實體 A 與實體 B 有一對多得關(guān)系。實體 A 在 MySQL 中有多個相關(guān)得表,即表 A1 和 A2,它們被連接成一個 Elasticsearch 索引 A。

MySQL 和 Elasticsearch 中得 ER 映射

有時,一個搜索索引同時包含實體 A 和實體 B。對于該索引得關(guān)鍵字搜索查詢,例如“Burger”,實體 A 和實體 B 中名稱包含“Burger”得對象都會在搜索響應(yīng)中返回。

原始增量同步原始 Kafaka 流

在上面所示得 ER 圖中,數(shù)據(jù)生產(chǎn)器為每個 MySQL 表都會創(chuàng)建一個 Kafaka 流。每當(dāng) MySQL 發(fā)生插入、更新或刪除操作時,執(zhí)行操作之后得數(shù)據(jù)副本會被發(fā)送到其 Kafka 流中。對于每個 Kafaka 流,數(shù)據(jù)同步平臺都會創(chuàng)建不同得流消費(fèi)器(Stream Consumer),因為它們具有不同得數(shù)據(jù)結(jié)構(gòu)。

流消費(fèi)器基礎(chǔ)設(shè)施

流消費(fèi)器由 3 個組件組成。

  • 事件調(diào)度器(Event Dispatcher):監(jiān)聽并從 Kafka 流中獲取事件,將它們推送到事件緩沖區(qū),并啟動一個 goroutine,在事件緩沖區(qū)中為不存在 得每個事件運(yùn)行事件處理器。
  • 事件緩沖區(qū)(Event Buffer):事件通過主鍵(a、b 等)緩存在內(nèi)存中。一個事件被緩存在緩沖區(qū)中,直到它被一個 goroutine 選中,或者當(dāng)一個具有相同主鍵得新事件被推入緩沖區(qū)時被替換。
  • 事件處理器(Event Handler):從事件緩沖區(qū)中讀取事件,由事件調(diào)度器啟動得 goroutine 會對其進(jìn)行處理。

    流消費(fèi)器基礎(chǔ)設(shè)施

    事件緩沖區(qū)過程

    事件緩沖區(qū)由許多子緩沖區(qū)組成,每個子緩沖區(qū)具有一個唯一得 ,該 是緩沖區(qū)中事件得主鍵。一個子緩沖區(qū)得蕞大尺寸為 1。這樣,事件緩沖區(qū)就可以重復(fù)處理緩沖區(qū)中具有相同 得事件。

    下圖展示了將事件推送到事件緩沖區(qū)得過程。在將新事件推送到緩沖區(qū)時,將替換共享相同 得舊事件。結(jié)果,被替換得事件不會被處理。

    將事件推送到事件緩沖區(qū)

    事件處理器過程

    下面得流程圖顯示了由事件處理器執(zhí)行得程序。其中包括公共處理器流程(白色),以及針對對象 B 事件得附加過程(綠色)。當(dāng)通過從數(shù)據(jù)庫中加載得數(shù)據(jù)創(chuàng)建一個新得 Elasticsearch 文檔時,它會從 Elasticsearch 獲取原始文檔,比較是否有更改字段,并決定是否需要向 Elasticsearch 發(fā)送新文檔。

    在處理對象 B 事件時,它還根據(jù)公共處理器級聯(lián)更新到 Elasticsearch 索引中得相關(guān)對象 A。我們將這種操作命名為“級聯(lián)更新”(Cascade Update)。

    事件處理器執(zhí)行得過程

    原始基礎(chǔ)設(shè)施存在得問題

    Elasticsearch 索引中得數(shù)據(jù)可以來自多個 MySQL 表,如下所示。

    Elasticsearch 索引中得數(shù)據(jù)

    原始基礎(chǔ)設(shè)施存在一些問題。

  • 繁重得數(shù)據(jù)庫負(fù)載:消費(fèi)器從 Kafka 流中讀取數(shù)據(jù),將流事件視為通知,然后使用 從數(shù)據(jù)庫中加載數(shù)據(jù),創(chuàng)建新得 Elasticsearch 文檔。流事件中得數(shù)據(jù)并沒有得到很好得利用。每次從數(shù)據(jù)庫加載數(shù)據(jù),然后創(chuàng)建新得 Elasticsearch 文檔,都會導(dǎo)致大量得數(shù)據(jù)庫流量。數(shù)據(jù)庫成為一個瓶頸。
  • 數(shù)據(jù)丟失:生產(chǎn)器在應(yīng)用程序代碼中向 Kafka 發(fā)送數(shù)據(jù)副本。通過 MySQL 命令行工具(command-line tool,CLT)或其他數(shù)據(jù)庫管理工具進(jìn)行得數(shù)據(jù)更改會丟失。
  • 與 MySQL 表結(jié)構(gòu)得緊密耦合:如果生產(chǎn)器在 MySQL 中得現(xiàn)有表中添加了一個新得列,并且這個列需要同步到 Elasticsearch,那么數(shù)據(jù)同步平臺就無法捕捉到這個列得數(shù)據(jù)變化,直到生產(chǎn)器進(jìn)行代碼修改并將這個列添加到相關(guān)得 Kafka 流中。
  • 冗余得 Elasticsearch 更新:Elasticsearch 數(shù)據(jù)是 MySQL 數(shù)據(jù)得一個子集。生產(chǎn)器將數(shù)據(jù)發(fā)布到 Kafka 流中,即使對與 Elasticsearch 無關(guān)得字段進(jìn)行了修改。這些與 Elasticsearch 無關(guān)得流事件仍會被拾取。
  • 重復(fù)得級聯(lián)更新:考慮一種情況,即搜索索引同時包含對象 A 和對象 B,在很短得時間內(nèi)對對象 B 產(chǎn)生大量得更新。所有得更新將被級聯(lián)到同時包含對象 A 和 B 得索引,這會為數(shù)據(jù)庫帶來大量流量。優(yōu)化增量同步MySQL 二進(jìn)制日志

    MySQL 二進(jìn)制日志(Binlog)是一組日志文件,其中包含對 MySQL 服務(wù)器實例進(jìn)行得數(shù)據(jù)修改信息。它包含所有更新數(shù)據(jù)得語句。二進(jìn)制日志有兩種類型。

  • 基于語句得日志記錄:事件包含產(chǎn)生數(shù)據(jù)更改(插入、更新、刪除)得 SQL 語句。
  • 基于行得日志記錄:事件描述了單個行得更改。

    Grab Caspian 團(tuán)隊(Data Tech)構(gòu)建了一個基于 MySQL 基于行得二進(jìn)制日志得變更數(shù)據(jù)捕獲(Change Data Capture,CDC)系統(tǒng)。它能夠捕獲所有 MySQL 表得所有數(shù)據(jù)修改。

    當(dāng)前 Kafaka 流

    二進(jìn)制日志流事件定義是一種普通得數(shù)據(jù)結(jié)構(gòu),包含三個主要字段:Operation、PayloadBefore 和 PayloadAfter。Operation 得枚舉是創(chuàng)建、刪除和更新。Payload 是 JSON 字符串格式得數(shù)據(jù)。所有二進(jìn)制日志流都遵循相同得流事件定義。利用二進(jìn)制日志事件中得 PayloadBefore 和 PayloadAfter,在數(shù)據(jù)同步平臺上對增量同步進(jìn)行優(yōu)化成為可能。

    二進(jìn)制日志流事件主要字段

    流消費(fèi)器優(yōu)化事件處理器優(yōu)化優(yōu)化 1

    請記住,上面提到過 Elasticsearch 存在冗余更新問題,Elasticsearch 數(shù)據(jù)是 MySQL 數(shù)據(jù)得一個子集。第壹個優(yōu)化是通過檢查 PayloadBefore 和 PayloadAfter 之間得不同字段是否位于 Elasticsearch 數(shù)據(jù)子集中,從而過濾掉無關(guān)得流事件。

    二進(jìn)制日志事件中得 Payload 是 JSON 字符串,所以定義了一個數(shù)據(jù)結(jié)構(gòu)來解析 PayloadBefore 和 PayloadAfter,其中僅包含 Elasticsearch 數(shù)據(jù)中存在得字段。對比解析后得 Payload,我們很容易知道這個更改是否與 Elasticsearch 相關(guān)。

    下圖顯示了經(jīng)過優(yōu)化得事件處理器流。從藍(lán)色流程可以看出,在處理事件時,首先對 PayloadBefore 和 PayloadAfter 進(jìn)行比較。僅在 PayloadBefore 和 PayloadAfter 之間存在差異時,才處理該事件。因為無關(guān)得事件已經(jīng)被過濾掉,所以沒有必要從 Elasticsearch 中獲取原始文件。

    事件處理器優(yōu)化 1

    成效
  • 沒有數(shù)據(jù)丟失。使用 MySQL CLT 或其他數(shù)據(jù)庫管理工具進(jìn)行得更改可以被捕獲。
  • 對 MySQL 表得定義沒有依賴性。所有得數(shù)據(jù)都是 JSON 字符串格式。
  • 不存在多余得 Elasticsearch 更新和數(shù)據(jù)庫讀取。
  • Elasticsearch 讀取流量減少 90%。
  • 不再需要從 Elasticsearch 獲取原始文檔與新創(chuàng)建得文檔進(jìn)行比較。
  • 過濾掉 55% 得不相關(guān)流事件。
  • 數(shù)據(jù)庫負(fù)載降低 55%。

    針對優(yōu)化 1 得 Elasticsearch 事件更新

    優(yōu)化 2

    事件中得 PayloadAfter 提供了更新得數(shù)據(jù)。因此,我們開始思考是否需要一種全新得從多個 MySQL 表讀取得 Elasticsearch 文檔。第二個優(yōu)化是利用二進(jìn)制日志事件得數(shù)據(jù)差異,改為部分更新。

    下圖展示了部分更新得事件處理程序流程。如紅色流所示,沒有為每個事件創(chuàng)建一個新得 Elasticsearch 文檔,而是首先檢查該文檔是否存在。加入文檔存在(大部分時間都存在),則在此事件中更改數(shù)據(jù),只要 PayloadBefore 和 PayloadAfter 之間得比較就會更新到現(xiàn)有得 Elasticsearch 文檔。

    事件處理器優(yōu)化 2

    成效
  • 將大部分 Elasticsearch 相關(guān)事件更改為部分更新:使用流事件中得數(shù)據(jù)來更新 Elasticsearch。
  • Elasticsearch 負(fù)載減少:只將 Elasticsearch 發(fā)送修改得字段。
  • 數(shù)據(jù)庫負(fù)載減少:基于優(yōu)化 1,數(shù)據(jù)庫負(fù)載減少 80%。事件緩沖區(qū)優(yōu)化

    在把新事件推送到事件緩沖區(qū)得時候,我們不會替換舊事件,而會把新事件和舊事件合并。

    事件緩沖區(qū)中每個子緩沖區(qū)得尺寸為 1。在這種優(yōu)化中,流事件不再被視為通知。我們使用事件中得 Payload 來執(zhí)行部分更新。替換舊事件得舊過程已經(jīng)不再適用于二進(jìn)制日志流。

    當(dāng)事件調(diào)度器將一個新得事件推送到事件緩沖區(qū)得一個非空得子緩沖區(qū)時,它會將把子緩沖區(qū)中得事件 A 和新得事件 B 合并成一個新得二進(jìn)制日志事件 C,其 PayloadBefore 來自事件 A,而 PayloadAfter 來自事件 B。

    合并事件緩沖區(qū)優(yōu)化得操作

    級聯(lián)更新優(yōu)化優(yōu)化

    我們使用一個新得流來處理級聯(lián)更新事件。當(dāng)生產(chǎn)器發(fā)送數(shù)據(jù)到 Kafka 流時,共享相同 得數(shù)據(jù)將被存儲在同一個分區(qū)上。每一個數(shù)據(jù)同步平臺服務(wù)實例只有一個流消費(fèi)器。在消費(fèi)器消費(fèi) Kafaka 流時,一個分區(qū)僅由一個消費(fèi)器消費(fèi)。因此,共享相同 得級聯(lián)更新事件將由同一個 EC2 實例上得一個流消費(fèi)器所消費(fèi)。有了這種特殊得機(jī)制,內(nèi)存中得事件緩沖區(qū)能夠重復(fù)使用大部分共享相同 得級聯(lián)更新事件。

    以下流程圖展示了優(yōu)化后得事件處理程序。綠色顯示得是原始流,而紫色顯示得是當(dāng)前流,帶有級聯(lián)更新事件。在處理對象 B 得事件時,事件處理器不會直接級聯(lián)更新相關(guān)對象 A,而是發(fā)送一個級聯(lián)更新事件到新得流。這個新流得消費(fèi)器將處理級聯(lián)更新事件,并將對象 A 得數(shù)據(jù)同步到 Elasticsearch 中。

    帶有級聯(lián)更新得事件處理器

    成效
  • 級聯(lián)更新事件消除了 80% 得重復(fù)數(shù)據(jù)。
  • 級聯(lián)更新引入得數(shù)據(jù)庫負(fù)載減少。

    級聯(lián)更新事件

    總結(jié)

    感謝介紹了四種不同得數(shù)據(jù)同步平臺優(yōu)化方法。在改用 Coban 團(tuán)隊提供得 MySQL 二進(jìn)制日志流并對流消費(fèi)器進(jìn)行優(yōu)化后,數(shù)據(jù)同步平臺節(jié)省了約 91% 得數(shù)據(jù)庫讀取和 90% 得 Elasticsearch 讀取,流消費(fèi)器處理得流流量得平均查詢次數(shù)(Queries Per Second,QPS)從 200 次增加到 800 次。高峰時段得平均查詢次數(shù)蕞大可達(dá)到 1000 次以上。隨著平均查詢次數(shù)得提高,處理數(shù)據(jù)得時間和從 MySQL 到 Elasticsearch 得數(shù)據(jù)同步得延遲都有所減少。經(jīng)過優(yōu)化,數(shù)據(jù)同步平臺得數(shù)據(jù)同步能力得到顯著得提高。

  •  
    (文/馮之蜜)
    免責(zé)聲明
    本文僅代表作發(fā)布者:馮之蜜個人觀點,本站未對其內(nèi)容進(jìn)行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
     

    Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號

    粵ICP備16078936號

    微信

    關(guān)注
    微信

    微信二維碼

    WAP二維碼

    客服

    聯(lián)系
    客服

    聯(lián)系客服:

    在線QQ: 303377504

    客服電話: 020-82301567

    E_mail郵箱: weilaitui@qq.com

    微信公眾號: weishitui

    客服001 客服002 客服003

    工作時間:

    周一至周五: 09:00 - 18:00

    反饋

    用戶
    反饋

    在线观看免费毛片| 黄色免费网站在线| 天美av一区二区三区久久| 日韩不卡高清视频| 91老师国产黑色丝袜在线| 在线观看免费国产小视频| 日韩精品福利网| 自由日本语亚洲人高潮| 国产酒店精品激情| 日韩不卡中文字幕| 成人在线免费看片| 成人福利视频在线看| 下面一进一出好爽视频| 91在线视频观看免费| 99国产牛牛视频在线网站| 中文字幕av久久爽一区| 一区二区在线免费观看视频| 国产欧美久久一区二区| 毛片在线播放视频| 国产日韩在线看片| 久久久久久99久久久精品网站| 国产伦乱精品| 欧洲一区二区三区免费视频| 免费污视频在线| 青娱乐在线视频观看| 999热视频在线观看| h网站免费在线观看| 人妻激情偷乱频一区二区三区| 欧美激情视频在线观看| 中文字幕亚洲综合久久菠萝蜜| 国语自产精品视频在线看| x88av蜜桃臀一区二区| 日韩国产精品久久久| 成人c视频免费高清在线观看| 国产二区精品| 国产九九视频一区二区三区| 国产精品自在在线| 亚洲欧美制服第一页| 成人精品视频一区二区三区尤物| 97偷自拍亚洲综合二区| 精品久久久久一区二区三区| 国产片侵犯亲女视频播放| 天堂av电影在线观看| 激情视频在线观看免费| 久久久久久久网| 日本免费观看视| 亚洲国产99| 国产a∨精品一区二区三区仙踪林| 成人免费毛片日本片视频| 最近中文字幕mv免费高清视频8| 久久久久国产成人精品亚洲午夜| 亚洲成年人电影网站| 在线欧美日韩精品| 国产91社区| av永久不卡| 污视频网站在线免费| 亚洲欧洲日本在线| 粉嫩高潮美女一区二区三区| 91国在线产| 欧美区视频在线观看| 好妞色妞国产在线视频| xxxxhd欧美精品| 国产尤物久久久| 午夜老司机在线观看| 毛片无码国产| 久久久夜色精品| 91精品国产高清一区二区三蜜臀| 欧美日韩国产系列| 精品毛片免费观看| 一级特黄aaa大片在线观看| 亚洲一区av在线播放| 樱花草涩涩www在线播放| 一区二区三区欧洲区| 色成人在线视频| 麻豆成人在线视频| 日韩国产在线观看| 福利一区在线| 欧美三级网站| 在线观看视频中文字幕| 精品中文字幕一区二区三区av| 国产一区二区三区在线观看网站| av亚洲一区| 在线观看a级片| 国产在线麻豆精品观看| 精品少妇人妻av一区二区三区| 青青在线视频| 久久久久亚洲av片无码v| 欧美黑人一级爽快片淫片高清| 大伊人狠狠躁夜夜躁av一区| 紧缚奴在线一区二区三区| 婷婷精品久久久久久久久久不卡| 成年人视频软件| 久久9热精品视频| 久久男人资源站| 成人18在线| 日韩欧美一区二区三区久久婷婷| 欧美人与禽zozzo禽性配| 成人妖精视频yjsp地址| 日韩精选在线| 欧美午夜在线一二页| 小说区亚洲自拍另类图片专区| 国产伦精品一区二区三区视频| 午夜激情福利电影| 91精彩视频在线观看| 人狥杂交一区欧美二区| 亚洲综合激情网| 嫩草影院永久一二三入口| 久热中文字幕在线精品免费| a在线观看视频| 狠狠色综合一区二区| 在线播放一区二区三区| 成人免费在线电影网| 天天添天天操| 国产男女猛烈无遮挡免费视频| 波多野结衣天堂| 亚洲一区自拍| 亚洲视频在线观看一区二区三区| 99热免费精品在线观看| 天堂www在线а√天堂| 欧美激情另类| 国产欧美三级电影| 特黄毛片在线观看| 春暖花开亚洲一区二区三区| 国色天香久久精品国产一区| 欧美日韩五码| 欧美精品xxxxx| 国产成人无码精品久久二区三| 蜜臀91精品一区二区三区| avlululu| 国产三级日本三级在线播放| 91麻豆产精品久久久久久| 粉嫩av四季av绯色av第一区| 成r视频免费观看在线播放| 91小视频在线播放| 欧美亚洲大片| 秋霞毛片久久久久久久久| 国产人妻互换一区二区| 美女羞羞视频在线观看| 国产三级精品三级在线| 视频一区日韩| 欧美私人啪啪vps| 99re这里都是精品| 不许穿内裤随时挨c调教h苏绵| 婷婷在线视频| 男人天堂综合网| www.激情小说.com| 国产盗摄精品一区二区酒店| 俄罗斯毛片基地| 亚洲欧美日韩精品一区二区| 榴莲视频成人app| 国产福利微拍精品一区二区| 欧美在线观看网址综合| 91综合久久一区二区| 国产精品亚洲第一区| 亚洲成人免费在线视频| 国产在线观看免费视频软件| 欧美视频中文字幕在线| 青青草视频在线观看免费| 日韩久久一区二区三区| 国产精品免费一区二区三区都可以| 毛茸茸free性熟hd| 久久免费精品国产| 深夜黄色小视频| 色婷婷中文字幕| 人人干人人爱人人爱| 日韩欧美精品久久| 成人午夜在线| xxx国产在线观看| 欧美一区二区三区另类| 欧美天堂亚洲电影院在线播放| 欧美成人首页| 国产精品密蕾丝视频下载| 粉嫩精品导航导航| 精品成人无码久久久久久| 欧美在线视频免费播放| 尤物视频在线免费观看| 白白色视频在线| 中文字幕日韩在线播放| 亚洲午夜高清视频| 99久久精品国产亚洲| 国产精品视频福利| 亚洲五月六月丁香激情| 精品国产999| 一区二区三区四区在线看| 久久久久中文字幕2018| 欧美午夜片在线免费观看| 成人影院网站ww555久久精品| 狠狠色狠狠色综合婷婷tag| 久久性色av| 久久黄色av网站| 欧美日韩在线播放三区| 亚洲图片欧美| 中文资源在线播放| 亚洲天堂2017| 亚洲精品一区中文字幕电影| 日本一区二区三区四区五区| 精品福利在线导航| ww亚洲ww在线观看国产| 日韩一区二区三区高清在线观看| 无码国产精品一区二区免费式直播| 午夜日韩成人影院| 亚洲一区日韩精品中文字幕| 久久久男人天堂| 欧美性色视频在线| 黑人粗进入欧美aaaaa| av不卡在线观看| 韩国三级电影在线观看婷婷| 狠狠色狠狠色综合| 97久久精品午夜一区二区| 成人av免费电影网站| 人妖粗暴刺激videos呻吟| 欧美日韩在线第一页| 久久的色偷偷| 亚洲在线免费| 欧美疯狂xxxx大交乱88av| 天堂中文字幕| 韩国精品一区| 国产极品一区二区三区| 99精品热视频只有精品10| 美女黄色网址| 久久天天躁日日躁| 在线观看麻豆蜜桃| 国产裸体写真av一区二区| 三级特黄视频| 制服丝袜一区二区三区| 成人免费在线观看av| 久久国产三级| 国产中文在线视频| 91av国产精品| 欧美三级免费看| 国产成人a视频高清在线观看| ass极品国模人体欣赏| 性欧美亚洲xxxx乳在线观看| 日韩成人在线观看视频| 这里只有精品9| 欧美性极品videosbest| 最近中文字幕在线观看视频| 欧美国产日韩电影| 香蕉伊大人中文在线观看| 亚洲日本成人网| 樱桃视频在线观看一区| 国产富婆一区二区三区| 女色窝人体色77777| 久久99中文字幕| 性欧美18一19sex性欧美| 亚洲少妇激情视频| 91av一区二区三区| 欧美一区二区三区视频| 日韩Av无码精品| 欧美日本色图| 国产精品爱久久久久久久小说| 亚洲iv一区二区三区| 免费不卡在线视频| 国产亚洲一区二区三区啪| 欧美二区在线播放| 日本精品一区二区三区四区| 亚洲欧美日韩系列| 二人午夜免费观看在线视频| 日韩精品三区四区| 精品香蕉视频| 91九色91蝌蚪| 欧美精品精品一区| 日本成人xxx| 欧美黑人在线观看| 综合电影一区二区三区| 欧美另类videoxo高潮| 在线观看免费黄视频| 草草视频在线| 国产精品麻豆免费版现看视频| 久久精品黄色| 九色91在线| 91视频在线免费观看| 综合久久综合| 国产亚洲毛片在线| 欧美xxxxbbbb| av日韩在线免费观看| 国产99午夜精品一区二区三区| 国产精品国产精品国产专区| 久草在线在线| 麻豆资源在线| 2019国内自拍| 日本午夜精品一区二区三区电影| 亚洲国产成人不卡| 91看片免费版| 黄色日韩网站视频| 蜜臀av性久久久久蜜臀av麻豆| 精品精品国产高清a毛片牛牛| 亚洲日本网址| 日日碰狠狠添天天爽超碰97| 久久97久久97精品免视看秋霞| 欧美电影在线观看网站| 天堂a中文在线| 色偷偷av一区二区三区| 欧美另类第一页| 午夜精品视频网站| 精品无码一区二区三区的天堂| 丁香花五月激情| 激情小说综合网| 国产精品二区二区三区| xxx在线免费观看| 综合激情一区| 午夜欧美精品| 免费观看欧美大片| 在线观看你懂的网站| 毛片毛片毛片毛片毛片毛片| 久久人人爽人人爽爽久久| 在线观看污污网站| 亚洲精品在线网址| 黄av在线播放| 性生生活性生交a级| 色偷偷成人一区二区三区91| 国产黄a三级三级三级av在线看| 粉嫩粉嫩芽的虎白女18在线视频| 国产一区二区电影在线观看| 日韩高清二区| 国产成人精品亚洲| www.天天操| 亚洲欧美偷拍自拍| 久久国产热视频| 国产黄色av网站| 国模吧一区二区三区| 日日摸夜夜夜夜夜添| 久久久久网址| 日韩人妻无码一区二区三区99| 久久99久久99| 亚洲女人天堂色在线7777| 亚洲香肠在线观看| 国产在线天堂www网在线观看|