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

Apache Flink 漫談系列(02) - 概述

開發 開發工具
本篇文章我們用一句話聊聊什么是 Apache Flink 的命脈?我的答案是:Apache Flink 是以"批是流的特例"的認知進行系統設計的。

一、Apache Flink 的命脈

"命脈" 即生命與血脈,常喻極為重要的事物。系列的首篇,首篇的首段不聊Apache Flink的歷史,不聊Apache Flink的架構,不聊Apache Flink的功能特性,我們用一句話聊聊什么是 Apache Flink 的命脈?我的答案是:Apache Flink 是以"批是流的特例"的認知進行系統設計的。

二、唯快不破

我們經常聽說 "天下武功,唯快不破",大概意思是說 "任何一種武功的招數都是有拆招的,唯有速度快,快到對手根本來不及反應,你就將對手KO了,對手沒有機會拆招,所以唯快不破"。 那么這與Apache Flink有什么關系呢?Apache Flink是Native Streaming(純流式)計算引擎,在實時計算場景最關心的就是"快",也就是 "低延時"。

就目前最熱的兩種流計算引擎Apache Spark和Apache Flink而言,誰最終會成為No1呢?單從 "低延時" 的角度看,Spark是Micro Batching(微批式)模式,***延遲Spark能達到0.5~2秒左右,Flink是Native Streaming(純流式)模式,***延時能達到微秒。很顯然是相對較晚出道的 Apache Flink 后來者居上。 那么為什么Apache Flink能做到如此之 "快"呢?根本原因是Apache Flink 設計之初就認為 "批是流的特例",整個系統是Native Streaming設計,每來一條數據都能夠觸發計算。相對于需要靠時間來積攢數據Micro Batching模式來說,在架構上就已經占據了絕對優勢。

那么為什么關于流計算會有兩種計算模式呢?歸其根本是因為對流計算的認知不同,是"流是批的特例" 和 "批是流的特例" 兩種不同認知產物。

1. Micro Batching 模式

Micro-Batching 計算模式認為 "流是批的特例", 流計算就是將連續不斷的批進行持續計算,如果批足夠小那么就有足夠小的延時,在一定程度上滿足了99%的實時計算場景。那么那1%為啥做不到呢?這就是架構的魅力,在Micro-Batching模式的架構實現上就有一個自然流數據流入系統進行攢批的過程,這在一定程度上就增加了延時。具體如下示意圖:

Micro Batching 模式

很顯然Micro-Batching模式有其天生的低延時瓶頸,但任何事物的存在都有兩面性,在大數據計算的發展歷史上,最初Hadoop上的MapReduce就是優秀的批模式計算框架,Micro-Batching在設計和實現上可以借鑒很多成熟實踐。

2. Native Streaming 模式

Native Streaming 計算模式認為 ""批是流的特例",這個認知更貼切流的概念,比如一些監控類的消息流,數據庫操作的binlog,實時的支付交易信息等等自然流數據都是一條,一條的流入。Native Streaming 計算模式每條數據的到來都進行計算,這種計算模式顯得更自然,并且延時性能達到更低。具體如下示意圖:

Native Streaming 模式

很明顯Native Streaming模式占據了流計算領域 "低延時" 的核心競爭力,當然Native Streaming模式的實現框架是一個歷史先河,***個實現Native Streaming模式的流計算框架是***個吃螃蟹的人,需要面臨更多的挑戰,后續章節我們會慢慢介紹。當然Native Streaming模式的框架實現上面很容易實現Micro-Batching和Batching模式的計算,Apache Flink就是Native Streaming計算模式的流批統一的計算引擎。

三、豐富的部署模式

Apache Flink 按不同的需求支持Local,Cluster,Cloud三種部署模式,同時Apache Flink在部署上能夠與其他成熟的生態產品進行***集成,如 Cluster模式下可以利用YARN(Yet Another Resource Negotiator)/Mesos集成進行資源管理,在Cloud部署模式下可以與GCE(Google Compute Engine), EC2(Elastic Compute Cloud)進行集成。

1. Local 模式

該模式下Apache Flink 整體運行在Single JVM中,在開發學習中使用,同時也可以安裝到很多端類設備上。

2. Cluster模式

該模式是典型的投產的集群模式,Apache Flink 既可以Standalone的方式進行部署,也可以與其他資源管理系統進行集成部署,比如與YARN進行集成。

這種部署模式是典型的Master/Slave模式,我們以Standalone Cluster模式為例示意如下:

其中JM(JobManager)是Master,TM(TaskManager)是Slave,這種Master/Slave模式有一個典型的問題就是SPOF(single point of failure), SPOF如何解決呢?Apache Flink 又提供了HA(High Availability)方案,也就是提供多個Master,在任何時候總有一個JM服役,N(N>=1)個JM候選,進而解決SPOF問題,示意如下:

在實際的生產環境我們都會配置HA方案,目前Alibaba內部使用的也是基于YARN Cluster的HA方案。

3. Cloud 模式

該模式主要是與成熟的云產品進行集成,Apache Flink官網介紹了Google的GCE 參考,Amazon的EC2 參考,在Alibaba我們也可以將Apache Flink部署到Alibaba的ECS(Elastic Compute Service)。

四、完善的容錯機制

1. 什么是容錯

容錯(Fault Tolerance) 是指容忍故障,在故障發生時能夠自動檢測出來并使系統能夠自動回復正常運行。當出現某些指定的網絡故障、硬件故障、軟件錯誤時,系統仍能執行規定的一組程序,或者說程序不會因系統中的故障而中止,并且執行結果也不會因系統故障而引起計算差錯。

2. 容錯的處理模式

在一個分布式系統中由于單個進程或者節點宕機都有可能導致整個Job失敗,那么容錯機制除了要保證在遇到非預期情況系統能夠"運行"外,還要求能"正確運行",也就是數據能按預期的處理方式進行處理,保證計算結果的正確性。計算結果的正確性取決于系統對每一條計算數據處理機制,一般有如下三種處理機制:

  • At Most Once:最多消費一次,這種處理機制會存在數據丟失的可能。
  • At Least Once:最少消費一次,這種處理機制數據不會丟失,但是有可能重復消費。
  • Exactly Once:精確一次,無論何種情況下,數據都只會消費一次,這種機制是對數據準確性的***要求,在金融支付,銀行賬務等領域必須采用這種模式。

3. Apache Flink的容錯機制

Apache Flink的Job會涉及到3個部分,外部數據源(External Input), Flink內部數據處理(Flink Data Flow)和外部輸出(External Output)。如下示意圖:

目前Apache Flink 支持兩種數據容錯機制:

  • At Least Once
  • Exactly Once

其中 Exactly Once 是最嚴格的容錯機制,該模式要求每條數據必須處理且僅處理一次。那么對于這種嚴格容錯機制,一個完整的Flink Job容錯要做到 End-to-End 的 容錯必須結合三個部分進行聯合處理,根據上圖我們考慮三個場景:

  • 場景一:Flink的Source Operator 在讀取到Kafla中pos=2000的數據時候,由于某種原因宕機了,這個時候Flink框架會分配一個新的節點繼續讀取Kafla數據,那么新的處理節點怎樣處理才能保證數據處理且只被處理一次呢?

 

  • 場景二:Flink Data Flow內部某個節點,如果上圖的agg()節點發生問題,在恢復之后怎樣處理才能保持map()流出的數據處理且只被處理一次?

  • 場景三:Flink的Sink Operator 在寫入Kafka過程中自身節點出現問題,在恢復之后如何處理,計算結果才能保證寫入且只被寫入一次?

4. 系統內部容錯

Apache Flink利用Checkpointing機制來處理容錯,Checkpointing的理論基礎 Stephan 在 Lightweight Asynchronous Snapshots for Distributed Dataflows 進行了細節描述,該機制源于有K. MANI CHANDY和LESLIE LAMPORT 發表的 Determining-Global-States-of-a-Distributed-System Paper。Apache Flink 基于Checkpointing機制對Flink Data Flow實現了At Least Once 和 Exactly Once 兩種容錯處理模式。

Apache Flink Checkpointing的內部實現會利用 Barriers,StateBackend等后續章節會詳細介紹的技術來將數據的處理進行Marker。Apache Flink會利用Barrier將整個流進行標記切分,如下示意圖:

這樣Apache Flink的每個Operator都會記錄當前成功處理的Checkpoint,如果發生錯誤,就會從上一個成功的Checkpoint開始繼續處理后續數據。比如 Soruce Operator會將讀取外部數據源的Position實時的記錄到Checkpoint中,失敗時候會從Checkpoint中讀取成功的position繼續精準的消費數據。每個算子會在Checkpoint中記錄自己恢復時候必須的數據,比如流的原始數據和中間計算結果等信息,在恢復的時候從Checkpoint中讀取并持續處理流數據。

5. 外部Source容錯

Apache Flink 要做到 End-to-End 的 Exactly Once 需要外部Source的支持,比如上面我們說過 Apache Flink的Checkpointing機制會在Source節點記錄讀取的Position,那就需要外部數據提供讀取的Position和支持根據Position進行數據讀取。

6. 外部Sink容錯

Apache Flink 要做到 End-to-End 的 Exactly Once 相對比較困難,如上場景三所述,當Sink Operator節點宕機,重新恢復時候根據Apache Flink 內部系統容錯 exactly once的保證,系統會回滾到上次成功的Checkpoin繼續寫入,但是上次成功Checkpoint之后當前Checkpoint未完成之前已經把一部分新數據寫入到kafka了. Apache Flink自上次成功的Checkpoint繼續寫入kafka,就造成了kafka再次接收到一份同樣的來自Sink Operator的數據,進而破壞了End-to-End 的 Exactly Once 語義(重復寫入就變成了At Least Once了),如果要解決這一問題,Apache Flink 利用Two phase commit(兩階段提交)的方式來進行處理。本質上是Sink Operator 需要感知整體Checkpoint的完成,并在整體Checkpoint完成時候將計算結果寫入Kafka。

五、流批統一的計算引擎

批與流是兩種不同的數據處理模式,如Apache Storm只支持流模式的數據處理,Apache Spark只支持批(Micro Batching)模式的數據處理。那么Apache Flink 是如何做到既支持流處理模式也支持批處理模式呢?

1. 統一的數據傳輸層

開篇我們就介紹Apache Flink 的 "命脈"是以"批是流的特例"為導向來進行引擎的設計的,系統設計成為 "Native Streaming"的模式進行數據處理。那么Apache FLink將批模式執行的任務看做是流式處理任務的特殊情況,只是在數據上批是有界的(有限數量的元素)。

Apache Flink 在網絡傳輸層面有兩種數據傳輸模式:

  • PIPELINED模式 - 即一條數據被處理完成以后,立刻傳輸到下一個節點進行處理。
  • BATCH 模式 - 即一條數據被處理完成后,并不會立刻傳輸到下一個節點進行處理,而是寫入到緩存區,如果緩存寫滿就持久化到本地硬盤上,***當所有數據都被處理完成后,才將數據傳輸到下一個節點進行處理。

對于批任務而言同樣可以利用PIPELINED模式,比如我要做count統計,利用PIPELINED模式能拿到更好的執行性能。只有在特殊情況,比如SortMergeJoin,這時候我們需要全局數據排序,才需要BATCH模式。大部分情況流與批可用統一的傳輸策略,只有特殊情況,才將批看做是流的一個特例繼續特殊處理。

2. 統一任務調度層

Apache Flink 在任務調度上流與批共享統一的資源和任務調度機制(后續章節會詳細介紹)。

3. 統一的用戶API層

Apache Flink 在DataStremAPI和DataSetAPI基礎上,為用戶提供了流批統一的上層TableAPI和SQL,在語法和語義上流批進行高度統一。(其中DataStremAPI和DataSetAPI對流和批進行了分別抽象,這一點并不優雅,在Alibaba內部對其進行了統一抽象)。

4. 求同存異

Apache Flink 是流批統一的計算引擎,并不意味著流與批的任務都走統一的code path,在對底層的具體算子的實現也是有各自的處理的,在具體功能上面會根據不同的特性區別處理。比如 批沒有Checkpoint機制,流上不能做SortMergeJoin。

六、Apache Flink 架構

1. 組件棧

我們上面內容已經介紹了很多Apache Flink的各種組件,下面我們整體概覽一下全貌,如下:

Apache Flink的各種組件

TableAPI和SQL都建立在DataSetAPI和DataStreamAPI的基礎之上,那么TableAPI和SQL是如何轉換為DataStream和DataSet的呢?

2. TableAPI&SQL到DataStrem&DataSet的架構

TableAPI&SQL最終會經過Calcite優化之后轉換為DataStream和DataSet,具體轉換示意如下:

對于流任務最終會轉換成DataStream,對于批任務最終會轉換成DataSet。

3. ANSI-SQL的支持

Apache Flink 之所以利用ANSI-SQL作為用戶統一的開發語言,是因為SQL有著非常明顯的優點,如下:

  • Declarative - 用戶只需要表達我想要什么,不用關心如何計算。
  • Optimized - 查詢優化器可以為用戶的 SQL 生成***的執行計劃,獲取***的查詢性能。
  • Understandable - SQL語言被不同領域的人所熟知,用SQL 作為跨團隊的開發語言可以很大地提高效率。
  • Stable - SQL 是一個擁有幾十年歷史的語言,是一個非常穩定的語言,很少有變動。
  • Unify - Apache Flink在引擎上對流與批進行統一,同時又利用ANSI-SQL在語法和語義層面進行統一。

4. ***擴展的優化機制

Apache Flink 利用Apache Calcite對SQL進行解析和優化,Apache Calcite采用Calcite是開源的一套查詢引擎,實現了兩套Planner:

  • HepPlanner - 是RBO(Rule Base Optimize)模式,基于規則的優化。
  • VolcanoPlanner - 是CBO(Cost Base Optimize)模式,基于成本的優化。

Flink SQL會利用Calcite解析優化之后,最終轉換為底層的DataStrem和Dataset。上圖中 Batch rules和Stream rules可以根據優化需要***添加優化規則。

七、豐富的類庫和算子

Apache Flink 優秀的架構就像一座摩天大廈的地基一樣為Apache Flink 持久的生命力打下了良好的基礎,為打造Apache Flink豐富的功能生態留下***的空間。

1. 類庫

  • CEP - 復雜事件處理類庫,核心是一個狀態機,廣泛應用于事件驅動的監控預警類業務場景。
  • ML - 機器學習類庫,機器學習主要是識別數據中的關系、趨勢和模式,一般應用在預測類業務場景。
  • GELLY - 圖計算類庫,圖計算更多的是考慮邊和點的概念,一般被用來解決網狀關系的業務場景。

2. 算子

Apache Flink 提供了豐富的功能算子,對于數據流的處理來講,可以分為單流處理(一個數據源)和多流處理(多個數據源)。

3. 多流操作

  • UNION - 將多個字段類型一致數據流合并為一個數據流,如下示意:
  • JOIN - 將多個數據流(數據類型可以不一致)聯接為一個數據流,如下示意:

如上通過UION和JOIN我們可以將多流最終變成單流,Apache Flink 在單流上提供了更多的操作算子。

4. 單流操作

將多流變成單流之后,我們按數據輸入輸出的不同歸類如下:

如上表格對單流上面操作做簡單歸類,除此之外還可以做 過濾,排序,窗口等操作,我們后續章節會逐一介紹。

4. 存在的問題

Apache Flink 目前的架構還存在很大的優化空間,比如前面提到的DataStreamAPI和DataSetAPI其實是流與批在API層面不統一的體現,同時看具體實現會發現DataStreamAPI會生成Transformation tree然后生成StreamGraph,***生成JobGraph,底層對應StreamTask,但DataSetAPI會形成Operator tree,flink-optimize模塊會對Batch Plan進行優化,形成Optimized Plan 后形成JobGraph,***形成BatchTask。具體示意如下:

這種情況其實 DataStreamAPI到Runtime 和 DataSetAPI到Runtime的實現上并沒有得到***程度的統一和復用。在這一點上面Aalibab 對Apache Flink 的增強在架構和實現上都進行了進一步優化。

八、Alibaba對Apache Flink的增強架構

1. 組件棧

Alibaba 對Apache Flink進行了大量的架構優化,如下架構是一直努力的方向,大部分功能還在持續開發中,具體如下:

如上架構我們發現較大的變化是:

  • Query Processing - 我們增加了Query Processing層,在這一層進行統一的流和批的查詢優化和底層算子的轉換。
  • DAG API - 我們在Runtime層面統一抽象API接口,在API層對流與批進行統一。

2. TableAPI&SQL到Runtime的架構

Apache Flink執行層是流批統一的設計,在API和算子設計上面我們盡量達到流批的共享,在TableAPI和SQL層無論是流任務還是批任務最終都轉換為統一的底層實現。示意圖如下:

這個層面最核心的變化是批最終也會生成StreamGraph,執行層運行Stream Task。

九、特別說明

后續章節會以Alibaba對Apache Flink的增強為主介紹功能算子,篇章中分享的功能可能開源暫時沒有,但這些的內容后續Alibaba會共享給社區,需要大家耐心等待。

十、小結

本篇概要的介紹了"批是流的特例"這一設計觀點是Apache Flink的"命脈",它決定了Apache Flink的運行模式是純流式的,這在實時計算場景的"低延遲"需求上,相對于Micro Batching模式占據了架構的絕對優勢,同時概要的向大家介紹了Apache Flink的部署模式,容錯處理,引擎的統一性和Apache Flink的架構,***和大家分享了Alibaba對Apache Flink的增強架構,以及對開源Apache Flink所作出的優化。

本篇沒有對具體技術進行詳細展開,大家只要對Apache Flink有初步感知,頭腦中知道Alibaba對Apache Flink進行了架構優化,增加了眾多功能就可以了,至于Apache Flink的具體技術細節和實現原理,以及Alibaba對Apache Flink做了哪些架構優化和增加了哪些功能后續章節會展開介紹!

# 關于點贊和評論

本系列文章難免有很多缺陷和不足,真誠希望讀者對有收獲的篇章給予點贊鼓勵,對有不足的篇章給予反饋和建議,先行感謝大家!

作者孫金城,花名 金竹,目前就職于阿里巴巴,自2015年以來一直投入于基于Apache Flink的阿里巴巴計算平臺Blink的設計研發工作。

【本文為51CTO專欄作者“金竹”原創稿件,轉載請聯系原作者】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2019-01-03 10:17:53

Apache FlinTable API代碼

2022-06-10 17:26:07

數據集計算

2018-10-09 10:55:52

Apache FlinWatermark流計算

2022-07-13 12:53:59

數據存儲

2018-10-16 08:54:35

Apache Flin流計算State

2018-09-26 07:50:52

Apache Flin流計算計算模式

2018-11-20 07:59:43

Apache Flin JOIN算子代碼

2018-11-29 09:01:26

Apache FlinJOIN代碼

2018-11-14 09:01:23

Apache FlinSQL代碼

2018-10-22 21:43:39

Apache Flin流計算Fault Toler

2018-12-11 17:28:22

Apache FlinJOIN代碼

2022-07-13 13:03:29

流計算亂序

2022-07-12 10:38:25

分布式框架

2018-11-07 08:48:31

Apache Flin持續查詢流計算

2019-01-15 08:50:12

Apache FlinKafka分布式

2018-10-30 14:08:45

Apache Flin流表對偶duality

2018-12-29 08:16:32

Apache FlinJOIN代碼

2021-06-11 07:49:01

Docker容器安全 應用程序

2020-04-09 11:08:30

PyFlinkJAR依賴

2018-10-30 11:10:05

Flink數據集計算
點贊
收藏

51CTO技術棧公眾號

欧美日韩午夜在线视频| 国产福利一区二区三区在线视频| 亚洲国产人成综合网站| 成人18视频| 中文字幕国产在线观看| 成人动漫免费在线观看| 欧美一区二区人人喊爽| 国产毛片视频网站| 亚洲免费视频一区二区三区| 国产99一区视频免费| 日韩av123| 一级黄色录像视频| 欧美日韩播放| 欧美r级电影在线观看| www.亚洲天堂网| 91蜜桃在线视频| 久久久久高清精品| **亚洲第一综合导航网站| 少妇太紧太爽又黄又硬又爽| 亚洲精品一区二区在线看| 日韩第一页在线| 欧美日韩理论片| 三上悠亚亚洲一区| 亚洲成在线观看| 国产又爽又黄ai换脸| 黄色电影免费在线看| 风流少妇一区二区| 成人在线激情视频| 日韩精品高清在线| 欧美亚洲国产视频| 久草福利资源在线| 乱亲女h秽乱长久久久| 欧美精品久久天天躁| 久久精品国产精品亚洲色婷婷| 波多野结衣小视频| 亚洲国产日韩欧美在线| 中文字幕一区二区精品| 国产精品探花一区二区在线观看| 中文字幕在线中文字幕在线中三区| 成人网在线免费视频| 国产日韩在线看片| 波多野结衣一区二区三区四区| 欧美日韩国产免费观看视频| 精品国偷自产国产一区| 久久久久亚洲av无码麻豆| 伦一区二区三区中文字幕v亚洲| 亚洲欧洲精品一区二区三区不卡| 91在线看www| 中文字幕在线观看第二页| 99香蕉国产精品偷在线观看 | 日韩中文字幕亚洲精品欧美| аⅴ资源新版在线天堂| 久久久亚洲高清| 蜜桃精品久久久久久久免费影院| 一级一级黄色片| 天堂va蜜桃一区二区三区漫画版| 色777狠狠综合秋免鲁丝| 91成人在线免费视频| 国产欧美一区| 亚洲午夜小视频| 精品人妻无码一区| 精品国产乱码| 中文字幕av一区中文字幕天堂| 伊人久久久久久久久| 91蜜桃臀久久一区二区| 亚洲第一区第二区| www.久久av| 亚洲黄色录像| 最新91在线视频| 国产黄色小视频网站| 性欧美欧美巨大69| 欧美激情在线播放| 久久久免费高清视频| 日韩精品一区第一页| 国产精品专区h在线观看| 国产精品人妻一区二区三区| 国产久卡久卡久卡久卡视频精品| 国产精品福利在线| 国产精品无码粉嫩小泬| 激情偷乱视频一区二区三区| 懂色一区二区三区av片| 日本免费不卡| 亚洲欧洲www| 800av在线免费观看| 三级在线观看视频| 欧美性猛交xxxxxx富婆| 欧美性受xxxxxx黑人xyx性爽| 亚洲免费福利| 欧美日本在线视频| 久久无码专区国产精品s| 亚洲人成网www| 中文字幕亚洲情99在线| 久久免费精彩视频| 日韩精品一级中文字幕精品视频免费观看| 国内精品视频久久| 日韩精品在线一区二区三区| 国产另类ts人妖一区二区| 久久国产手机看片| 求av网址在线观看| 精品福利一区二区| 网站在线你懂的| 网友自拍一区| 欧美成人午夜剧场免费观看| 国产精品国产三级国产专区52| 在线看片成人| 国产日韩欧美中文| 天天操天天操天天操| 国产人久久人人人人爽| 男人添女人下部视频免费| 视频二区不卡| 亚洲电影免费观看高清完整版在线| 免费看三级黄色片| 日韩在线观看| 欧美在线欧美在线| 国产日韩欧美一区二区东京热 | 视频在线不卡| 亚洲精品一二三| 美女网站色免费| 天堂99x99es久久精品免费| 久久香蕉国产线看观看av| 免费看毛片网站| 国产凹凸在线观看一区二区| 亚洲精品自在在线观看| 周于希免费高清在线观看 | 欧美极品在线播放| 怡红院男人的天堂| 91麻豆国产香蕉久久精品| 成年丰满熟妇午夜免费视频| 日本午夜精品久久久久| 亚洲精品午夜精品| 国产一级在线观看视频| 国产一区二区三区久久悠悠色av| 99三级在线| 黄色在线观看网站| 欧美日韩专区在线| 91精品国自产在线| 久久精品伊人| 欧美aaaaa喷水| 校园春色亚洲| 亚洲精品丝袜日韩| 日韩在线视频免费播放| 成av人片一区二区| 欧美日韩成人免费视频| 粉嫩av一区二区| 欧美精品福利在线| 亚洲精品成人电影| 亚洲网友自拍偷拍| v天堂中文在线| 亚洲国产午夜| 久久99精品久久久久久久久久| 成人高潮成人免费观看| 色综合久久天天| 少妇真人直播免费视频| 午夜在线播放视频欧美| 欧美中日韩免费视频| 日韩理论视频| 亚洲无av在线中文字幕| 波多野结衣视频网址| 国产欧美日韩三级| 婷婷六月天在线| 国产精品久久久久蜜臀| 91在线无精精品一区二区| 手机在线免费看av| 精品国产乱码久久| 中文字幕第四页| 国产欧美精品一区二区色综合 | 亚洲淫性视频| 日韩欧美亚洲另类制服综合在线| 国产呦小j女精品视频| 久久人人97超碰国产公开结果| 亚洲a级在线播放观看| 伊人电影在线观看| 日韩精品视频在线观看免费| 国产一级淫片a视频免费观看| 国产一区视频网站| 男人添女荫道口喷水视频| 欧美wwwwww| 国产精品久久久久久影视| 国产高清视频在线观看| 5月丁香婷婷综合| 国产五月天婷婷| 久久久国产精华| 在线a免费观看| 国产一区二区高清| 亚洲欧美日韩精品在线| 亚洲网址在线观看| 国产成人亚洲综合91精品| 麻豆网站在线免费观看| 亚洲国产精品成人一区二区| 亚洲精品一区二区二区| 亚洲影视在线观看| 在线不卡av电影| 国产精品一区在线| 青青在线视频观看| 亚洲欧美色图| 欧洲亚洲一区二区三区四区五区| 毛片在线网站| 久久激情五月丁香伊人| 天天干天天舔天天射| 欧美色图在线观看| 国产精品二区一区二区aⅴ| 国产精品网友自拍| 韩国无码一区二区三区精品| 极品销魂美女一区二区三区| www.中文字幕在线| 亚洲欧美色图| 亚洲电影一二三区| 小嫩嫩12欧美| 国产成人av一区二区三区| 69堂精品视频在线播放| 午夜精品一区二区三区在线视| 女人18毛片一区二区三区| 色哟哟欧美精品| 国产性70yerg老太| 国产精品久久久久桃色tv| 国产熟女高潮一区二区三区 | aⅴ在线免费观看| 亚洲久久久久| 翔田千里亚洲一二三区| 美女视频免费精品| 91久久久一线二线三线品牌| 日韩高清在线| 日本精品va在线观看| 久草在线视频资源| 欧美成人精品一区二区三区| 在线免费观看黄色av| 亚洲欧洲xxxx| 日本大片在线观看| 亚洲精品久久久久久久久久久久| 国产视频1区2区| 亚洲国产sm捆绑调教视频 | 欧美激情综合色| av每日在线更新| 国产一区二区精品丝袜| 你懂的好爽在线观看| 亚洲精品视频免费| 天堂91在线| 日韩极品精品视频免费观看| 狠狠综合久久av一区二区| 日韩精品一区二区在线| 99久久精品国产一区二区成人| 亚洲成人午夜影院| 久久视频免费看| 亚洲自拍欧美精品| 免费网站看av| 亚洲午夜影视影院在线观看| 国产一级大片在线观看| 一二三区精品视频| 九九久久免费视频| 亚洲一二三区视频在线观看| 日韩伦人妻无码| 亚洲成人自拍偷拍| 日韩av在线播| 色呦呦一区二区三区| 做爰视频毛片视频| 欧美乱妇20p| 国产草草影院ccyycom| 欧美r级在线观看| 神马午夜在线观看| 亚洲欧美综合另类中字| 日韩精品毛片| 欧美黄色小视频| 国产理论在线| 国产精品美女在线观看| 伦一区二区三区中文字幕v亚洲| 国模视频一区二区| 涩涩av在线| 精品视频站长推荐| 欧美少妇激情| 成人午夜一级二级三级| 久久av偷拍| 国产综合第一页| 精品国产一级毛片| 最新视频 - x88av| 亚洲先锋成人| 日韩中文字幕组| 精品亚洲国产成人av制服丝袜| 日本三级中文字幕在线观看| 黄色在线成人| 青青在线免费观看视频| 美日韩一区二区三区| 成人三级做爰av| 91色.com| 99久久久免费精品| 午夜欧美在线一二页| 特级西西444www高清大视频| 欧美成人r级一区二区三区| 免费一级毛片在线观看| 久久视频免费观看| 欧美亚洲日本精品| 成人www视频在线观看| 国产无遮挡裸体免费久久| 日韩av电影免费观看| 欧美日韩四区| 青青在线视频免费| 成人小视频免费在线观看| 性欧美一区二区| 亚洲午夜视频在线观看| 中文字幕一区二区三区波野结| 欧美在线三级电影| 亚洲精品视频91| 日韩在线观看网站| 丝袜老师在线| 99久久综合狠狠综合久久止| 九色成人国产蝌蚪91| 亚洲国产精品成人天堂| 麻豆传媒一区二区三区| 精品国产99国产精品| 国产视频一区二区三区四区五区| 一本大道久久a久久精品综合| 91浏览器在线观看| 正在播放一区二区| 国产区视频在线播放| 久久久久久亚洲精品| 91麻豆精品国产综合久久久| 欧美深深色噜噜狠狠yyy| 亚洲毛片视频| 日韩久久久久久久久久久| 欧美激情一区在线观看| 国产高潮久久久| 精品电影一区二区| 在线欧美三级| 国产一区欧美二区三区| 精品久久精品| 男女高潮又爽又黄又无遮挡| 成人午夜免费电影| 天天看片中文字幕| 欧美日本一区二区三区四区| 国产一二三区在线| 日韩免费黄色av| 希岛爱理av免费一区二区| 久久久久免费看黄a片app| 国产成人小视频| 极品盗摄国产盗摄合集| 7777精品伊人久久久大香线蕉经典版下载 | 欧美日韩国产综合新一区| 国产女人18毛片水真多| www.久久撸.com| 免费视频成人| 亚洲欧洲精品一区| 日本伊人午夜精品| 国产美女永久免费无遮挡| 色拍拍在线精品视频8848| 欧美男男同志| 日韩免费av一区二区| 国产欧美日韩在线一区二区| 少妇高潮喷水久久久久久久久久| 老司机免费视频一区二区| 欧美a在线播放| 欧美日高清视频| 在线视频国产区| 国产精品一区二区三区免费观看 | 日本黄色片一级片| 国产成人三级在线观看| 欧美丰满艳妇bbwbbw| 精品日韩99亚洲| xxxx在线视频| 精品一区日韩成人| 日韩高清不卡在线| 久久噜噜色综合一区二区| 日韩一级在线观看| tube8在线hd| 欧美日韩最好看的视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 搡老熟女老女人一区二区| 欧美日韩亚洲一区二| 邻居大乳一区二区三区| 国产美女久久精品| 欧美freesex交免费视频| 久久久久久婷婷| 色综合久久88色综合天天6 | 久久精品视频5| 中文字幕日韩电影| 蜜桃精品一区二区三区| 国产中文字幕二区| 国产视频亚洲色图| 国产深喉视频一区二区| 97在线视频免费看| 成人精品天堂一区二区三区| 又黄又爽又色的视频| 五月天久久比比资源色| 成人77777| 国产高清在线一区二区| 老鸭窝91久久精品色噜噜导演| 毛茸茸free性熟hd| 欧美午夜片在线免费观看| 欧洲美女少妇精品| 精品国产乱码久久久久久郑州公司| 欧美久久九九| av女人的天堂| 日韩一区二区视频| 欧美日韩大片| 国产黄色激情视频| 中文字幕国产一区| 亚洲精品一区二区口爆| 国产精品久久久999| 亚洲视频一区| 永久免费未视频| 日韩av在线不卡| 精品久久免费|