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

深度解析字節跳動開源數據集成引擎 BitSail

精選
開源
BitSail 是字節跳動開源數據集成引擎,支持多種異構數據源間的數據同步,并提供離線、實時、全量、增量場景下全域數據集成解決方案,目前支撐了字節內部和火山引擎多個客戶的數據集成需求。

1. 導讀

BitSail 是字節跳動開源數據集成引擎,支持多種異構數據源間的數據同步,并提供離線、實時、全量、增量場景下全域數據集成解決方案,目前支撐了字節內部和火山引擎多個客戶的數據集成需求。經過字節跳動各大業務線海量數據的考驗,在性能、穩定性上得到較好驗證。

10 月 26 日,字節跳動宣布 BitSail 項目正式在 GitHub 開源,為更多的企業和開發者帶來便利,降低數據建設的成本,讓數據高效地創造價值。本篇內容將圍繞 BitSail 演講歷程及重點能力解析展開,主要包括以下四個部分:

  • 字節跳動內部數據集成背景
  • BitSail 技術演進歷程
  • BitSail 能力解析
  • 未來展望

2. 字節跳動內部數據集成背景

圖片

一直以來,字節跳動都非常重視并貫徹“數據驅動”這一理念,作為數據驅動的一環,數據中臺能力的建設至關重要,而這其中,數據集成作為數據中臺建設的基礎,主要解決了異構數據源的數據傳輸、加工和處理的問題。

BitSail 源自字節跳動數據平臺團隊自研的數據集成引擎 DTS(全稱 Data Transmission Service,即數據傳輸服務),最初基于 Apache Flink 實現,至今已經服務于字節內部業務接近五年,現已具備批式集成、流式集成和增量集成三類同步模式,并支持分布式水平擴展和流批一體架構,在各種數據量和各種場景下,一個框架即可解決數據集成需求。此外,BitSail 采用插件式架構,支持運行時解耦,從而具備極強的靈活性,企業可以很方便地接入新的數據源。

3. BitSail 演進歷程

3.1  全域數據集成引擎演進三階段

圖片

字節跳動數據集成引擎 BitSail 演進的歷程可以分為三個階段:

① 初始期:2018 年以前公司沒有統一的數據集成框架,對每個通道都是各自實現,因此依賴的大數據引擎也比較零散,如 MapReduce 、Spark ,數據源之間的連接也是網狀連接,整體的開發和運維成本都比較高。

② 成長期:可以分為三個小階段。

  • 2018 - 2019 :隨著 Flink 生態不斷完善,越來越多的公司將 Flink 作為大數據計算引擎的首選,字節跳動也不例外,并在 Flink 上持續探索,并于 2019 年提出基于 Flink 的異構數據源間傳輸,完成批式場景的統一。
  • 2020 - 2021 :隨著 Flink 批流一體的完善,字節跳動對原有架構進行較大升級,并覆蓋了流式場景,完成批流場景的統一。
  • 2021 - 2022 :接入了 Hudi 數據湖引擎,解決 CDC 數據實時同步問題,并提供湖倉一體解決方案。

③ 成熟期:2022 年開始全域數據集成引擎的整體架構已經穩定,并經過字節跳動內部各業務線生產環境的考驗,在性能和穩定性上也得到充分的保障,于是團隊希望能夠將能力對外輸出,為更多的企業和開發者帶來便利,降低數據建設的成本,讓數據高效地創造價值。

3.2  BitSail 數據集成引擎技術架構演進

3.2.1 基于 Flink 的異構數據源傳輸架構

基于 Flink 1.5 DataSet API 實現的異構數據源傳輸架構,只支持批式場景。框架核心思想是,對原始輸入層數據抽象為 BaseInput,主要用于拉取源端的數據;對輸出層抽象為 BaseOutput,負責將數據寫到外部系統。同時,框架層提供了基礎服務,包括類型系統(Type System)、自動并發度(Auto Parallelism)、流控(Flow Control)、臟數據檢測(Dirty Data)等等,并對所有的數據源通道生效。

圖片

以下介紹一個批次場景上比較有意思的功能,也是實際業務中面臨的一些痛點。

圖片

上圖左上部分是原始的 Flink 運行日志,從這個日志里看不到任務進度數據和預測數據,如當前任務運行的百分比、運行完成所需時間。

左下部分則是 Flink UI 界面提供的任務運行的元信息,可以看到讀寫條數都是 0 ,從 Flink 引擎角度,由于所有算子作為一個整體是沒有輸入和輸出的,這是合理的,但從用戶角度就無法看到任務整體進度信息和當前處理記錄條數,從而導致用戶懷疑這個任務是否已經卡住。圖中右邊是改造之后的效果,日志中明確輸出當前處理了多少條數、實時進度展示、消耗時間等等,該功能在字節內部上線后,得到了很多業務的好評。

圖片

下面介紹一下具體的實現。

首先回顧 Flink Task 的執行過程,與傳統的 MapReduce、Spark 的驅動模型不一樣,Flink 是以任務驅動,JM 創建好 Split 之后,Task 是常駐運行,不斷向 JM 請求新的 Split,只有所有的 Split 處理完之后,Task 才會退出。此時,如果用總的完成的 Task 個數除以總的 Task 個數,進度將出現一定程度的失真。最開始,所有的 Task 都在運行,不斷地去拉取 Split,我們看到的進度會是 0,等到 JM 的 Split 處理完之后,所有的 Task 會集中退出,可以看到進度會突然跳動到 100%,中間是缺少進度信息的。

為了解決這個問題,我們還是要回到數據驅動本身,以 Split 的維度來衡量整個 Job 的運行過程。圖中右邊所展示的是,通過 Flink UI 提供的 API,可以拿到整個任務的拓撲信息,將其分為兩層算子并進行改造,分別是 Source 層和 Operator 層。

Source 層?

我們修改了原生的 Source API,具體的話包括兩個部分,第一個是創建 Split 之后,我們會去拿到 Total Split 的個數,將它上載到 Metric 里;其次是 Source里的每個 Task 每處理完一個 Split 之后,我們會上報一個 CompletedSplit。最終我們通過 Flink UI 是可以拿到當前已經完成的 Split 個數以及總共的 Split 個數,并用完成的 Split 個數來除以總共的 Split 個數來衡量 Source 節點的進度。

Operator 層?

首先我們會看當前 Operator 上游節點的輸出多少條,以及當前節點它讀取了多少條,并用當前節點讀取的條數除以它的上游節點的輸出條數作為當前 Operator 的進度。同時,這里我們做了一個梯度限制,就是當前節點的進度只能小于等于它的上游節點進度。

3.2.2 基于 Flink 批流一體的架構

以下是批流一體的架構,相對于原有架構,字節跳動數據平臺團隊完成如下升級:

圖片

  • 將 Flink 版本從 1.5 升級到 1.9,同時我們分析了 DataSet API,統一升級到 DataStream API,以支持批流一體架構。
  • 對數據源支持進行擴充,除了原有的離線數據源之外,增加了實時數據源,如消息隊列。
  • 對框架層完成拓展,支持 Exactly Once、支持 Event Time 寫入、Auto DDL 等功能。
  • 對引擎層進行改進,增加推測執行、Region Failover 等功能。
  • 在 Runtime 層也做了進一步的擴充,支持云原生架構。

我們分析一個實時場景中比較典型的鏈路,MQ 到 Hive 這個鏈路。

圖片

左圖(Shuffle)是目前社區的實現方式,很多數據湖的寫入,比如 Hudi、Iceberg 基本上也是這個結構。這套結構分為兩層算子,第一層是我們的數據處理層,負責數據的讀取和寫入;第二層算子是一個單節點的提交層,它是一個單并發,主要負責元信息的提交,比如去生成 Hive 的分區或者做一些其他的元信息動作。

這個架構的優勢是其整體拓撲(數據處理流程)比較清晰,算子功能定位也比較清楚,但是它有一個明顯的缺陷,加入一個單并發節點后,導致整個任務變成 Shuffle 連接。而 Shuffle 連接天然的弱勢是,當遇到 Task Failover 的時候,它會直接進行全局重啟。?

右圖(Pipelined)是改造之后的數據處理流程,數據寫入部分沒有變化,變化的是后面的提交部分,這樣的設計考慮是是保持原有 Pipeline 架構,以實現 Task 容錯時不會進行全局重啟。廢棄了原有的單并發提交節點,把所有元信息的提交拿到 JM 端處理,同時 Task 和 JM 的通訊是通過 Aggregate Manager 來實現。改為這套架構之后,在大數據量場景下,其穩定性得到了顯著的提升。

3.2.3 基于 Flink 湖倉一體的架構

引入湖倉一體架構的目的是解決 CDC 數據的近實時同步。

圖片

右圖是原有架構,處理流程包括三個模塊:

  • 拉取批次任務:用來拉取 CDC 全量的數據,寫到 Hive 里作為一個基礎的鏡像。
  • 實時任務:拉取 CDC 的 Changelog,并實時寫入 HDFS,作為一個增量數據。
  • 離線調度任務:周期性地進行 Merge,將全量數據和增量數據進行合并,形成新的全量數據。

上述架構比較復雜,并依賴 Flink、Spark 等多種計算引擎,在實時性方面,只能做到 T+1,最快也只能做到小時級延遲,無法有效支撐近實時分析場景。從效率來說,存儲開銷比較大,每個分區都是一個全量鏡像,而且計算成本較高,每次 Merge 都需要進行全局 Shuffle。

圖片

右圖是升級后的架構,主要的升級點包括:??

  • 將 Flink 1.9 升級到 Flink 1.11,接入了 Hudi 數據湖引擎,以支持 CDC 數據近實時同步。這是因為 Hudi 引擎有完備的索引機制以及高效的 Upsert 性能。
  • 對 Hudi 引擎也進行了多項基礎改進,以提高整體的寫入效率和穩定性。

最終實施的效果,近實時寫入,整體的延遲在 10 分鐘以內,綜合性能比原有架構提升 70% 以上。至此,完成了全域數據集成架構統一,實現一套系統覆蓋所有同步場景。

3.3  架構演進過程實踐經驗分享

下面介紹實際演進過程中的一些思考、問題和改進方案。

表類型選擇?

圖片

數據湖是支持多種表格式的,比如 CopyOnWrite(簡稱COW)表、MergeOnRead(簡稱MOR)表。COW 表的優勢在于讀性能比較好,但是會導致寫放大,MOR 表正好相反,寫的性能比較好的,會導致讀放大。具體選擇哪種表格式,更多要根據大家的業務場景來決定。

我們的業務場景是為了解決 CDC 數據的近實時同步,CDC 數據有個明顯的特點,是存在大量的隨機更新。這個場景下選擇 COW,會導致寫放大的問題比較嚴重,所以我們選擇了 MOR 表。上圖就是一個 MOR 表查詢和寫入的流程。第一個是列存儲的基礎鏡像文件,我們稱之為 Base 文件,第二個是行存儲的增量日志,我們稱之為 Log 文件。

每次查詢時,需要將 Log 文件和 Base 文件合并,為了解決 MOR 表讀放大的問題,通常我們會建一個 Compaction 的服務,通過周期性的調度,將 Log 文件和 Base 文件合并,生成一個新的 Base 文件。

Hudi 實時寫入痛點?

圖片

如圖所示,這是原生的 Hudi 實時寫入的流程圖。

首先,我們接入 Hudi 數據,會進入 Flink State,它的作用是索引。Hudi 提供了很多索引機制,比如 BloomIndex。但是 BloomIndex 有個缺陷,它會出現假陽性,降級去遍歷整個文件,在效率上有一定的影響。Flink State 的優勢是支持增量更新,同時它讀取的性能會比較高。經過 Flink State 之后,我們就可以確認這條記錄是 Upsert,還是 Insert 記錄,同時會分配一個 File Id。

緊接著,我們通過這個 File Id 會做一層 KeyBy,將相同 File 的數據分配到同一個Task。Task 會為每一個 File Id 在本地做一次緩存,當緩存達到上限后,會將這批數據 Flush 出去到 hoodie client 端。Hoodie client 主要是負責以塊的方式來寫增量的 Log 數據,以 Mini Batch 的方式將數據刷新到 HDFS。

再之后,我們會接一個單并發的提交節點,最新的版本是基于 Coordinator 來做的,當所有的算子 Checkpoint 完成之后,會提交元信息做一次 Commit,認為這次寫入成功。同時 Checkpoint 時,我們會刷新 Task 的緩存和 hoodie client 的緩存,同時寫到 HDFS。通常,我們還會接一個 Compaction 的算子,主要用來解決 MOR 表讀放大的問題。

這個架構在實際的生產環境會遇到如下問題:?

(1)當數據量比較大的時候,Flink State 的膨脹會比較厲害,相應地會影響 Task 的速度以及 Checkpoint 的成功率。

(2)關于 Compaction 算子,Flink 的流式任務資源是常駐的,Compaction 本身是一個周期性的調度,如果并發度設置比較高,往往就意味著資源的浪費比較多。

(3)Flink 提供了很多資源優化的策略,比如 Slot Sharing,來提高整體的資源利用率,這就會導致資源搶占的問題,Compaction 會和真正的數據讀寫算子來進行資源的搶占。Compaction 本身也是一個重 I/O、CPU 密集型操作,需要不斷地讀取增量日志、全量日志,同時再輸出一個全量數據。

針對上述問題,我們優化了 Hudi 的寫入流程。

圖片

首先我們會采集 CDC 的 Change Log,并發送到消息隊列,然后消費消息隊列中的 Change Log,然后我們進行如下三個優化:?

(1)廢棄了原先的 Flink State,替換為 Hash Index。Hash Index 的優勢是不依賴外部存儲。來了一個 Hoodie Record 之后,只需要一個簡單的哈希處理,就知道它對應的 Bucket。

(2)將 Compaction 服務獨立成一個離線的任務,并且是周期性的調度,用來解決資源浪費和資源搶占的問題。

(3)將 Task 緩存和 Hudi 緩存做了合并,因為每次 Checkpoint 都需要刷新 Task 緩存,Hudi 緩存需要寫入 HDFS,如果緩存的數據量比較多,會導致整個 Checkpoint 時間比較長。

優化之后,穩定性方面,可以支持百萬級的 QPS;端到端的 Checkpoint 延時控制在 1 分鐘以內,Checkpoint 成功率可以做到 99%。

圖片

4. BitSail 能力解析

目前技術架構比較成熟,并經過字節跳動各業務線的驗證,在數據的穩定性和效率上都能得到一定的保障。因此,我們希望能把自己沉淀的經驗對外輸出,給更多企業和開發者帶來便利,降低大家數據建設的成本,讓數據創造高效的價值。為了達到這個目標,我們要解決兩個能力的構建。

4.1  低成本共建能力

數據集成有一個明顯的網絡效應,每個用戶所面臨的數據集成的場景也是不一樣的,因此需要大家的共同參與,完善數據集成的功能和生態,這就需要解決共建成本的問題,讓大家都能低成本地參與整個項目的共建和迭代。

在 BitSail 中,我們通過兩個思路推進這個能力建設。

4.1.1 模塊拆分

圖片

所有的模塊糅合在一個大的 jar 包中,包括引擎層、數據源層、基礎框架層,模塊耦合比較嚴重,數據處理流程也不清晰。針對這個問題,我們按照功能模塊進行劃分,將基礎框架和數據源從引擎中獨立出來,同時我們的技術組件采取可插拔的設計,以應對不同的用戶環境,比如臟數據檢測、Schema 同步、監控等等,在不同的環境中會有不同的實現方式。

4.1.2 接口抽象

圖片

框架對 Flink API 是深度綁定,用戶需要深入到 Flink 引擎內部,這會導致整體 Connector 接入成本比較高。為了解決這個問題,我們抽象了新的讀寫接口,該接口與引擎無關,用戶只要開發新的接口即可。同時在內部會做一層新的抽象接口與引擎接口的轉換,這個轉換對用戶是屏蔽的,用戶不需要了解底層引擎細節。

4.2  架構的兼容能力

不同公司依賴的大數據組件和數據源的版本不一樣,同時還會遇到版本前后不兼容問題,因此需要完善架構的兼容能力,以解決不同環境下的快速安裝、部署和驗證。我們同樣有兩個思路來建設這個能力。

4.2.1 多引擎架構

圖片

當前架構和 Flink 引擎深度綁定,在使用場景方面受到一定的限制,比如有些客戶用了 Spark 引擎或者其他引擎。Flink 引擎依賴比較重的情況下,對于簡單場景和小數據量場景,整體的資源浪費比較嚴重。

為解決此問題,我們在引擎層預留了多引擎入口,在已經預留的 Flink 引擎基礎之上,接下來會擴展到 Spark 引擎或者 Local Engine。? 具體實現方面,我們對執行的環境進行了一層抽象,不同的引擎會去實現我們的抽象類。同時,我們探索 Local 執行方式,對小數據量在本地通過線程的方式來解決,不用去啟動 Flink Job 或類似的處理,提高整體資源的使用效率。

4.2.2 依賴隔離

圖片

目前系統存在一些外部環境中沒有的內部依賴,大數據底座也是綁定的公司內部版本,我們進行了三個方面的優化:

  • 剔除公司內部依賴,采取開源的通用解決方案,以應對不同的業務場景。
  • 大數據底座方面,采用 Provided 依賴,不綁定固定底座,運行時由外部指定,針對不兼容的場景,通過 Maven Profile 和 Maven Shade 隔離。
  • 針對數據源多版本和版本不兼容的問題,采取動態加載的策略,將數據源做成獨立的組件,每次只會加載需要的數據源,以達到隔離的目標。

5. 未來展望

BitSail 希望數據暢通無阻地航行到有價值的地方,期待和大家共同合作,完善數據集成的功能和生態。同時未來我們將在三個方面繼續深化:

① 多引擎架構:探索 Local Engine 落地,支持本地執行,對簡單場景和小數據量場景提高資源利用率;實現引擎智能選擇策略,針對簡單場景使用 Local Engine;針對復雜場景復用大數據引擎的能力。

② 通用能力建設:推廣新接口,對用戶屏蔽引擎細節,降低 Connector 開發成本

探索 Connector 多語言方案。

③ 流式數據湖:統一 CDC 數據入湖解決方案,在性能上穩定支撐千萬級 QPS

在數據湖平臺能力構建方面,全面覆蓋批式、流式、增量使用場景。

??本文感謝 DataFun 志愿者鐘曉華整理?

責任編輯:未麗燕 來源: 字節跳動技術團隊
相關推薦

2020-10-24 07:30:05

開源字節跳動模型

2023-10-18 11:56:17

開源AI

2024-08-01 08:40:00

2022-10-31 15:35:16

開源引擎

2024-09-23 08:15:11

2021-01-29 10:33:34

存儲

2022-07-18 17:37:27

字節跳動人工智能AI模型

2022-06-22 06:49:39

Hertz開源HTTP 框架

2024-11-13 11:02:03

微服務框架項目

2021-09-09 09:05:30

開源字節跳動CloudWeGo

2022-08-25 18:48:29

字節跳動CSS開源

2024-11-08 13:04:08

項目Hertz接口

2025-04-09 09:20:00

2020-09-11 15:37:18

GitHub代碼開發者

2024-02-19 00:00:00

前端開源項目

2015-02-10 09:48:56

AppCan開源引擎移動應用引擎

2015-02-10 09:46:39

AppCan移動應用引擎開源引擎

2015-03-11 14:52:03

AppCan移動應用引擎AppCan移動應用引

2023-03-13 21:55:37

數據治理

2023-04-07 12:30:04

開源ShmipcIPC
點贊
收藏

51CTO技術棧公眾號

四虎永久在线观看| 毛片视频网站在线观看| 天堂久久av| 精品久久久久久久中文字幕| 日韩国产高清一区| 国产精品高潮呻吟AV无码| 影音先锋久久久| 中文字幕av一区二区三区谷原希美| 日韩av影视大全| 日韩欧美看国产| 依依成人精品视频| 色综合久久88色综合天天提莫| 国产精品自拍电影| 久久精品道一区二区三区| 久久深夜福利免费观看| 深爱五月激情网| 亚洲一区二区电影| 欧美日韩国产大片| 免费观看成人网| 国产极品人妖在线观看| 国产精品久99| 欧美精品亚洲精品| 韩国中文字幕hd久久精品| 人人狠狠综合久久亚洲| 欧美在线影院在线视频| 久久久久久免费观看| 99久久精品网| 中文字幕自拍vr一区二区三区| 欧美双性人妖o0| 91嫩草精品| 91精品国产综合久久久久| 韩国日本美国免费毛片| 天堂中文av在线资源库| 亚洲国产一区二区视频| 色哺乳xxxxhd奶水米仓惠香| 自拍视频在线播放| 国产精品欧美一区二区三区| 日本视频一区在线观看| 色综合成人av| 91免费版在线| 免费日韩av电影| 日韩亚洲视频在线观看| 99久久综合色| 国产有色视频色综合| 国产成人自拍一区| 成人在线视频一区| 高清一区二区三区视频| 亚洲av无码乱码国产精品久久| 国产精品影音先锋| 亚洲影院污污.| 精品久久国产视频| 国产丝袜在线| 免费观看成人性生生活片| 日本一区二区在线不卡| 日韩欧美99| 国产一级在线| 欧美激情自拍偷拍| 一本久久a久久精品vr综合| 国产福利片在线| 国产精品入口麻豆原神| 亚洲第一导航| 国产三级在线播放| 一区二区三区影院| 欧美在线一区视频| 亚洲人体视频| 欧美视频日韩视频在线观看| 男人添女人下面免费视频| 国产精品一站二站| 精品国精品国产| 日本免费福利视频| 精品一级毛片| 久久高清视频免费| 免费观看一级视频| 久久综合九色| 国产日韩欧美综合| 亚洲成人77777| 337p粉嫩大胆噜噜噜噜噜91av| 日本亚洲导航| www.在线视频| 午夜亚洲国产au精品一区二区| 97av视频在线观看| 久久久加勒比| 精品国产sm最大网站免费看| 欧美日韩高清丝袜| 亚洲精品电影| 欧美一级黑人aaaaaaa做受| 国产成人免费看| 精品一区二区三区不卡| 国产99视频精品免费视频36| 欧美老女人性开放| 亚洲日本青草视频在线怡红院| 全黄性性激高免费视频| 日韩免费va| 欧美成人艳星乳罩| 久久久视频6r| 在线精品一区二区| 国产一区二区在线免费| 天天干视频在线| 国产精品久久久久久久久快鸭 | 午夜精品一区二区三| 26uuu精品一区二区| 欧洲金发美女大战黑人| 欧美日韩不卡| 亚洲成人a**站| 国产在视频线精品视频| 一本色道久久精品| 亚洲a一级视频| 国产69精品久久app免费版| 亚洲风情在线资源站| 欧美在线aaa| 亚洲丁香日韩| 国语对白做受69| 国产伦一区二区| 国产视频一区在线观看 | heyzo高清在线| 欧美乱妇15p| 精品人妻一区二区三区蜜桃视频| 在线欧美一区| 成人自拍偷拍| 亚洲综合伊人久久大杳蕉| 欧美日韩一级二级三级| 亚洲第一香蕉网| 最新日韩av| 91精品天堂| 岛国中文字幕在线| 欧美日韩电影一区| 中文字幕精品亚洲| 丝袜诱惑亚洲看片 | 天天做天天爱天天爽综合网| 国产成人a亚洲精品| 日本中文字幕一区二区有码在线 | 欧美性猛交xxx乱久交| 欧美丝袜足交| 久久久亚洲影院| 亚洲AV无码成人片在线观看| 亚洲精选视频在线| 色欲无码人妻久久精品| 欧美激情自拍| 国产精品成人一区二区三区| 污视频在线免费观看网站| 欧美日韩www| 26uuu成人网| 韩国精品一区二区| 亚洲国产精品影视| 精品一区91| 欧美剧在线观看| 亚洲成人一二三区| 亚洲网友自拍偷拍| 亚州av综合色区无码一区| 日韩天堂av| 免费观看成人在线| 丝袜美腿一区| 在线播放精品一区二区三区| 在线观看日批视频| 亚洲欧美色图小说| 亚洲国产精品第一页| 欧美日韩少妇| 精品一区在线播放| 625成人欧美午夜电影| 一区二区三区天堂av| 在线不卡免费视频| 亚洲伦在线观看| 美女久久久久久久久| aa国产精品| 日韩精品久久久| 香蕉久久一区| 欧美激情女人20p| 亚洲aaa在线观看| 欧洲色大大久久| 欧美精品一区二区蜜桃| 成人av午夜电影| 黄色高清无遮挡| 小小影院久久| 精品欧美日韩在线| 欧美激情啪啪| 久久久久久久久亚洲| 国产在线中文字幕| 欧美一区二区日韩| 久久人妻免费视频| 综合电影一区二区三区 | 欧美日韩伦理在线免费| 亚洲精品免费一区二区三区| 97人人在线视频| 中日韩美女免费视频网站在线观看 | 中文欧美日韩| 一级做a爰片久久| 成人香蕉社区| 国产乱肥老妇国产一区二| 深夜国产在线播放| 亚洲欧洲在线播放| 午夜精品久久久久久久99热黄桃| 黑丝美女久久久| 精品人妻伦九区久久aaa片| aaa国产一区| 老司机久久精品| 亚洲欧美久久| 亚洲精品天堂成人片av在线播放| 欧美黄色影院| 91亚洲精品丁香在线观看| 亚洲精品动漫| 久久99热精品| 色的视频在线免费看| 亚洲国内精品视频| 中文字幕 欧美激情| 婷婷综合久久一区二区三区| 91精品国产闺蜜国产在线闺蜜| 99精品欧美一区二区三区综合在线| 亚洲欧美天堂在线| 久久国产日本精品| 日本午夜激情视频| 影音先锋成人在线电影| 欧洲一区二区在线| 女一区二区三区| 亚洲自拍偷拍区| 国产亚洲人成a在线v网站| 欧美一级在线亚洲天堂| 精精国产xxxx视频在线中文版| 中文字幕在线视频日韩| 黄色电影免费在线看| 亚洲国产成人精品一区二区| 国产成人精品a视频| 欧美日本韩国一区| 中文字幕免费视频观看| 日韩欧美在线播放| 国产无套粉嫩白浆内谢| 一区二区三区在线视频免费| 亚洲 欧美 变态 另类 综合| 中文字幕巨乱亚洲| 中文字幕一区二区三区人妻电影| 丰满白嫩尤物一区二区| 日本一本在线视频| 久久超碰97人人做人人爱| 欧美一级特黄a| 日日摸夜夜添夜夜添国产精品| 伊人成色综合网| 国产欧美一区二区三区国产幕精品| www.avtt| 亚洲精品影视| 欧美 丝袜 自拍 制服 另类| 伊人久久亚洲热| 男女超爽视频免费播放| 亚洲看片免费| 日韩免费一级视频| 香蕉成人久久| 茄子视频成人免费观看| 六月天综合网| 欧美亚洲日本在线观看| 青青青伊人色综合久久| 三上悠亚av一区二区三区| 奇米影视7777精品一区二区| 三上悠亚在线一区| 国产一区福利在线| 中文字幕99页| 久久伊人中文字幕| 一级肉体全黄裸片| 国产精品家庭影院| 国产大学生自拍| 亚洲成人激情综合网| 久久久久亚洲av成人毛片韩| 一本色道久久综合亚洲aⅴ蜜桃| 中文字幕在线播| 欧美日韩免费观看一区二区三区| 国产精品伊人久久| 精品国产区一区| 免费人成在线观看网站| 色偷偷噜噜噜亚洲男人| caoporn免费在线视频| 久久欧美在线电影| 国产精品久久久久av电视剧| 国产精品天天狠天天看| 国产高清日韩| 久久综合久久久| 97精品国产| 国产精品专区在线| 青青草97国产精品免费观看| 色欲欲www成人网站| 97国产精品videossex| 好吊视频在线观看| 亚洲女同ⅹxx女同tv| 天天操天天爽天天干| 欧美日韩国产一级片| 亚洲风情第一页| 伊人伊成久久人综合网小说| 国语对白在线刺激| 国产精品九九久久久久久久| 亚洲啊v在线免费视频| 麻豆视频成人| 亚洲有吗中文字幕| 99热成人精品热久久66| 久久99久久久欧美国产| 91黄色免费视频| 综合久久国产九一剧情麻豆| 影音先锋在线国产| 91精品国产91久久久久久最新毛片| 深夜视频在线免费| 久久精品国产电影| 国偷自产一区二区免费视频| 99re视频在线观看| 欧美一级本道电影免费专区| 超碰成人免费在线| 老司机免费视频一区二区三区| 久久一区二区电影| 最新不卡av在线| 国产一区二区视频网站| 欧美变态tickling挠脚心| 69视频在线| 庆余年2免费日韩剧观看大牛| 99亚洲乱人伦aⅴ精品| 亚洲韩国在线| 久久先锋资源| 黄色网址在线视频| 一区二区高清在线| 一区二区三区免费在线| 亚洲视频第一页| 一区二区三区短视频| 国产综合第一页| 国一区二区在线观看| 亚洲黄色av片| 中文一区在线播放| 天天干天天操天天爱| 亚洲精品理论电影| 爱看av在线| 国产伦精品一区二区三区| 亚洲女同另类| 国产欧美精品一二三| 国产精品久久久久久一区二区三区 | 妖精视频成人观看www| 超碰人人cao| 亚洲免费三区一区二区| 一级做a爱片性色毛片| 一区二区三区视频观看| se69色成人网wwwsex| 久久综合一区| 久久精品五月| 88久久精品无码一区二区毛片| 激情成人中文字幕| 天堂在线中文网| 91av在线精品| 亚洲最大在线| 成人中文字幕av| 欧美国产日韩在线观看| 中文字幕久久网| 色综合亚洲精品激情狠狠| 欧美不卡高清一区二区三区| 婷婷精品国产一区二区三区日韩| 丝袜诱惑制服诱惑色一区在线观看 | 波多野结衣在线观看一区二区三区| 激情内射人妻1区2区3区 | 日韩激情综合网| 欧美一区二区私人影院日本| 亚洲第一图区| 国产在线精品日韩| 久久一区二区三区超碰国产精品| 中文字幕在线观看网址| 色综合久久88色综合天天| 成在在线免费视频| 成人h视频在线| 国产精品porn| 欧美xxxx×黑人性爽| 福利精品视频在线| 福利在线午夜| 成人黄色片在线| 欧美久久久久| 亚洲一区二区三区蜜桃| 欧美午夜理伦三级在线观看| 久久77777| 国产精品免费看一区二区三区| 国产精品亚洲综合久久| 美国美女黄色片| 日韩美女在线视频| 久久野战av| 中文字幕在线观看一区二区三区| 丁香啪啪综合成人亚洲小说| 国产91精品一区| 久久久av电影| 日韩a级大片| 日本不卡一区二区在线观看| 亚洲一线二线三线久久久| 免费在线高清av| 51国偷自产一区二区三区| 性欧美精品高清| 男人操女人的视频网站| 亚洲精品一二区| 欧美特黄不卡| 虎白女粉嫩尤物福利视频| 亚洲精品一二三| 黄色av免费在线看| 99r国产精品视频| 爽好久久久欧美精品| 精品亚洲永久免费| 国产亚洲一区二区在线| 97色成人综合网站| 爱情岛论坛亚洲首页入口章节| 亚洲高清一区二区三区| 男人天堂久久久| 久久久久久久久久久久久9999| 精品在线视频一区| 久久久久99精品成人片我成大片 | avove在线观看| 久久欧美中文字幕|