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

Flink 1.14 新特性預(yù)覽

網(wǎng)絡(luò)
Flink 在過去的幾個版本中,在流批一體方面做了很多的工作。可以認(rèn)為 Flink 在引擎層面,API 層面和算子的執(zhí)行層面上做到了真正的流與批用同一套機(jī)制運(yùn)行。

本文由社區(qū)志愿者陳政羽整理,內(nèi)容源自阿里巴巴技術(shù)專家宋辛童 (五藏) 在 8 月 7 日線上 Flink Meetup 分享的《Flink 1.14 新特性預(yù)覽》。主要內(nèi)容為:

1.簡介

2.流批一體

3.Checkpoint 機(jī)制

4.性能與效率

5.Table / SQL / Python API

6.總結(jié)

此文章為 8 月 7 日的分享整理,1.14 版本最新進(jìn)展采用注釋的方式在文末進(jìn)行說明。

一、簡介

1.14 新版本原本規(guī)劃有 35 個比較重要的新特性以及優(yōu)化工作,目前已經(jīng)有 26 個工作完成;5 個任務(wù)不確定是否能準(zhǔn)時(shí)完成;另外 4 個特性由于時(shí)間或者本身設(shè)計(jì)上的原因,會放到后續(xù)版本完成。[1]

1.14 相對于歷屆版本來說,囊括的優(yōu)化和新增功能點(diǎn)其實(shí)并不算多。其實(shí)通過觀察發(fā)版的節(jié)奏可以發(fā)現(xiàn),通常在 1-2 個大版本后都會發(fā)布一個變化稍微少一點(diǎn)的版本,主要目的是把一些特性穩(wěn)定下來。

1.14 版本就是這樣一個定位,我們稱之為質(zhì)量改進(jìn)和維護(hù)的版本。這個版本預(yù)計(jì) 8 月 16 日停止新特性開發(fā),可能在 9 月份能夠和大家正式見面,有興趣可以關(guān)注以下鏈接去跟蹤功能發(fā)布進(jìn)度。

Wiki:https://cwiki.apache.org/confluence/display/FLINK/1.14+Release
Jira:https://issues.apache.org/jira/projects/FLINK/versions/12349614

二、流批一體

流批一體其實(shí)從 Flink 1.9 版本開始就受到持續(xù)的關(guān)注,它作為社區(qū) RoadMap 的重要組成部分,是大數(shù)據(jù)實(shí)時(shí)化必然的趨勢。但是另一方面,傳統(tǒng)離線的計(jì)算需求其實(shí)并不會被實(shí)時(shí)任務(wù)完全取代,而是會長期存在。

在實(shí)時(shí)和離線的需求同時(shí)存在的狀態(tài)下,以往的流批獨(dú)立技術(shù)方案存在著一些痛點(diǎn),比如:

需要維護(hù)兩套系統(tǒng),相應(yīng)的就需要兩組開發(fā)人員,人力的投入成本很高;
另外,兩套數(shù)據(jù)鏈路處理相似內(nèi)容帶來維護(hù)的風(fēng)險(xiǎn)性和冗余;
最重要的一點(diǎn)是,如果流批使用的不是同一套數(shù)據(jù)處理系統(tǒng),引擎本身差異可能會存在數(shù)據(jù)口徑不一致的問題,從而導(dǎo)致業(yè)務(wù)數(shù)據(jù)存在一定的誤差。這種誤差對于大數(shù)據(jù)分析會有比較大的影響。
在這樣的背景下,F(xiàn)link 社區(qū)認(rèn)定了實(shí)時(shí)離線一體化的技術(shù)路線是比較重要的技術(shù)趨勢和方向。

Flink 在過去的幾個版本中,在流批一體方面做了很多的工作。可以認(rèn)為 Flink 在引擎層面,API 層面和算子的執(zhí)行層面上做到了真正的流與批用同一套機(jī)制運(yùn)行。但是在任務(wù)具體的執(zhí)行模式上會有 2 種不同的模式:

對于無限的數(shù)據(jù)流,統(tǒng)一采用了流的執(zhí)行模式。流的執(zhí)行模式指的是所有計(jì)算節(jié)點(diǎn)是通過 Pipeline 模式去連接的,Pipeline 是指上游和下游計(jì)算任務(wù)是同時(shí)運(yùn)行的,隨著上游不斷產(chǎn)出數(shù)據(jù),下游同時(shí)在不斷消費(fèi)數(shù)據(jù)。這種全 Pipeline 的執(zhí)行方式可以:通過 eventTime 表示數(shù)據(jù)是什么時(shí)候產(chǎn)生的;通過 watermark 得知在哪個時(shí)間點(diǎn),數(shù)據(jù)已經(jīng)到達(dá)了;通過 state 來維護(hù)計(jì)算中間狀態(tài);通過 Checkpoint 做容錯的處理。下圖是不同的執(zhí)行模式:

對于有限的數(shù)據(jù)集有 2 種執(zhí)行模式,我們可以把它看成一個有限的數(shù)據(jù)流去做處理,也可以把它看成批的執(zhí)行模式。批的執(zhí)行模式雖然也有 eventTime,但是對于 watermark 來說只支持正無窮。對數(shù)據(jù)和 state 排序后,它在任務(wù)的調(diào)度和 shuffle 上會有更多的選擇。流批的執(zhí)行模式是有區(qū)別的,最主要的就是批的執(zhí)行模式會有落盤的中間過程,只有當(dāng)前面任務(wù)執(zhí)行完成,下游的任務(wù)才會觸發(fā),這個容錯機(jī)制是通過 shuffle 進(jìn)行容錯的。這 2 者也各有各的執(zhí)行優(yōu)勢:對于流的執(zhí)行模式來說,它沒有落盤的壓力,同時(shí)容錯是基于數(shù)據(jù)的分段,通過不斷對數(shù)據(jù)進(jìn)行打點(diǎn) Checkpoint 去保證斷點(diǎn)恢復(fù);然而在批處理上,因?yàn)橐?jīng)過 shuffle 落盤,所以對磁盤會有壓力。但是因?yàn)閿?shù)據(jù)是經(jīng)過排序的,所以對批來說,后續(xù)的計(jì)算效率可能會有一定的提升。同時(shí),在執(zhí)行時(shí)候是經(jīng)過分段去執(zhí)行任務(wù)的,無需同時(shí)執(zhí)行。在容錯計(jì)算方面是根據(jù) stage 進(jìn)行容錯。這兩種各有優(yōu)劣,可以根據(jù)作業(yè)的具體場景來進(jìn)行選擇。
Flink 1.14 的優(yōu)化點(diǎn)主要是針對在流的執(zhí)行模式下,如何去處理有限數(shù)據(jù)集。之前處理無限數(shù)據(jù)集,和現(xiàn)在處理有限數(shù)據(jù)集最大的區(qū)別在于引入了 "任務(wù)可能會結(jié)束" 的概念。在這種情況下帶來一些新的問題,如下圖:

在流的執(zhí)行模式下的 Checkpoint 機(jī)制對于無限流,它的 Checkpoint 是由所有的 source 節(jié)點(diǎn)進(jìn)行觸發(fā)的,由 source 節(jié)點(diǎn)發(fā)送 Checkpoint Barrier ,當(dāng) Checkpoint Barrier 流過整個作業(yè)時(shí)候,同時(shí)會存儲當(dāng)前作業(yè)所有的 state 狀態(tài)。而在有限流的 Checkpoint 機(jī)制中,Task 是有可能提早結(jié)束的。上游的 Task 有可能先處理完任務(wù)提早退出了,但下游的 Task 卻還在執(zhí)行中。在同一個 stage 不同并發(fā)下,有可能因?yàn)閿?shù)據(jù)量不一致導(dǎo)致部分任務(wù)提早完成了。這種情況下,在后續(xù)的執(zhí)行作業(yè)中,如何進(jìn)行 Checkpoint?在 1.14 中,JobManager 動態(tài)根據(jù)當(dāng)前任務(wù)的執(zhí)行情況,去明確 Checkpoint Barrier 是從哪里開始觸發(fā)。同時(shí)在部分任務(wù)結(jié)束后,后續(xù)的 Checkpoint 只會保存仍在運(yùn)行 Task 所對應(yīng)的 stage,通過這種方式能夠讓任務(wù)執(zhí)行完成后,還可以繼續(xù)做 Checkpoint ,在有限流執(zhí)行中提供更好的容錯保障。


Task 結(jié)束后的兩階段提交

我們在部分 Sink 使用上,例如下圖的 Kafka Sink 上,涉及到 Task 需要依靠 Checkpoint 機(jī)制,進(jìn)行二階段提交,從而保證數(shù)據(jù)的 Exactly-once 一致性。

具體可以這樣說:在 Checkpoint 過程中,每個算子只會進(jìn)行準(zhǔn)備提交的操作。比如數(shù)據(jù)會提交到外部的臨時(shí)存儲目錄下,所有任務(wù)都完成這次 Checkpoint 后會收到一個信號,之后才會執(zhí)行正式的 commit,把所有分布式的臨時(shí)文件一次性以事務(wù)的方式提交到外部系統(tǒng)。

這種算法在當(dāng)前有限流的情況下,作業(yè)結(jié)束后并不能保證有 Checkpoint,那么最后一部分?jǐn)?shù)據(jù)如何提交?

在 1.14 中,這個問題得到了解決。Task 處理完所有數(shù)據(jù)之后,必須等待 Checkpoint 完成后才可以正式的退出,這是流批一體方面針對有限流任務(wù)結(jié)束的一些改進(jìn)。

三、Checkpoint 機(jī)制

1. 現(xiàn)有 Checkpoint 機(jī)制痛點(diǎn)

目前 Flink 觸發(fā) Checkpoint 是依靠 barrier 在算子間進(jìn)行流通,barrier 隨著算子一直往下游進(jìn)行發(fā)送,當(dāng)算子下游遇到 barrier 的時(shí)候就會進(jìn)行快照操作,然后再把 barrier 往下游繼續(xù)發(fā)送。對于多路的情況我們會把 barrier 進(jìn)行對齊,把先到 barrier 的這一路數(shù)據(jù)暫時(shí)性的 block,等到兩路 barrier 都到了之后再做快照,最后才會去繼續(xù)往下發(fā)送 barrier。

現(xiàn)有的 Checkpoint 機(jī)制存在以下問題:

反壓時(shí)無法做出 Checkpoint :在反壓時(shí)候 barrier 無法隨著數(shù)據(jù)往下游流動,造成反壓的時(shí)候無法做出 Checkpoint。但是其實(shí)在發(fā)生反壓情況的時(shí)候,我們更加需要去做出對數(shù)據(jù)的 Checkpoint,因?yàn)檫@個時(shí)候性能遇到了瓶頸,是更加容易出問題的階段;

Barrier 對齊阻塞數(shù)據(jù)處理 :阻塞對齊對于性能上存在一定的影響;

恢復(fù)性能受限于 Checkpoint 間隔 :在做恢復(fù)的時(shí)候,延遲受到多大的影響很多時(shí)候是取決于 Checkpoint 的間隔,間隔越大,需要 replay 的數(shù)據(jù)就會越多,從而造成中斷的影響也就會越大。但是目前 Checkpoint 間隔受制于持久化操作的時(shí)間,所以沒辦法做的很快。

2. Unaligned Checkpoint

針對這些痛點(diǎn),F(xiàn)link 在最近幾個版本一直在持續(xù)的優(yōu)化,Unaligned Checkpoint 就是其中一個機(jī)制。barrier 算子在到達(dá) input buffer 最前面的時(shí)候,就會開始觸發(fā) Checkpoint 操作。它會立刻把 barrier 傳到算子的 OutPut Buffer 的最前面,相當(dāng)于它會立刻被下游的算子所讀取到。通過這種方式可以使得 barrier 不受到數(shù)據(jù)阻塞,解決反壓時(shí)候無法進(jìn)行 Checkpoint 的問題。

當(dāng)我們把 barrier 發(fā)下去后,需要做一個短暫的暫停,暫停的時(shí)候會把算子的 State 和 input output buffer 中的數(shù)據(jù)進(jìn)行一個標(biāo)記,以方便后續(xù)隨時(shí)準(zhǔn)備上傳。對于多路情況會一直等到另外一路 barrier 到達(dá)之前數(shù)據(jù),全部進(jìn)行標(biāo)注。

通過這種方式整個在做 Checkpoint 的時(shí)候,也不需要對 barrier 進(jìn)行對齊,唯一需要做的停頓就是在整個過程中對所有 buffer 和 state 標(biāo)注。這種方式可以很好的解決反壓時(shí)無法做出 Checkpoint ,和 Barrier 對齊阻塞數(shù)據(jù)影響性能處理的問題。

3. Generalized Incremental Checkpoint [2]

Generalized Incremental Checkpoint 主要是用于減少 Checkpoint 間隔,如左圖 1 所示,在 Incremental Checkpoint 當(dāng)中,先讓算子寫入 state 的 changelog。寫完后才把變化真正的數(shù)據(jù)寫入到 StateTable 上。state 的 changelog 不斷向外部進(jìn)行持久的存儲化。在這個過程中我們其實(shí)無需等待整個 StateTable 去做一個持久化操作,我們只需要保證對應(yīng)的 Checkpoint 這一部分的 changelog 能夠持久化完成,就可以開始做下一次 Checkpoint。StateTable 是以一個周期性的方式,獨(dú)立的去對外做持續(xù)化的一個過程。

這兩個過程進(jìn)行拆分后,就有了從之前的需要做全量持久化 (Per Checkpoint) 變成 增量持久化 (Per Checkpoint) + 后臺周期性全量持久化,從而達(dá)到同樣容錯的效果。在這個過程中,每一次 Checkpoint 需要做持久化的數(shù)據(jù)量減少了,從而使得做 Checkpoint 的間隔能夠大幅度減少。

其實(shí)在 RocksDB 也是能支持 Incremental Checkpoint 。但是有兩個問題:

第一個問題是 RocksDB 的 Incremental Checkpoint 是依賴它自己本身的一些實(shí)現(xiàn),當(dāng)中會存在一些數(shù)據(jù)壓縮,壓縮所消耗的時(shí)間以及壓縮效果具有不確定性,這個是和數(shù)據(jù)是相關(guān)的;
第二個問題是只能針對特定的 StateBackend 來使用,目前在做的 Generalized Incremental Checkpoint 實(shí)際上能夠保證的是,它與 StateBackend 是無關(guān)的,從運(yùn)行時(shí)的機(jī)制來保證了一個比較穩(wěn)定、更小的 Checkpoint 間隔。
目前 Unaligned Checkpoint 是在 Flink 1.13 就已經(jīng)發(fā)布了,在 1.14 版本主要是針對 bug 的修復(fù)和補(bǔ)充,針對 Generalized Incremental Checkpoint,目前社區(qū)還在做最后的沖刺,比較有希望在 1.14 中和大家見面。[2]

四、性能與效率

1. 大規(guī)模作業(yè)調(diào)度的優(yōu)化

構(gòu)建 Pipeline Region 的性能提升:所有由 pipline 邊所連接構(gòu)成的子圖 。在 Flink 任務(wù)調(diào)度中需要通過識別 Pipeline Region 來保證由同一個 Pipline 邊所連接的任務(wù)能夠同時(shí)進(jìn)行調(diào)度。否則有可能上游的任務(wù)開始調(diào)度,但是下游的任務(wù)并沒有運(yùn)行。從而導(dǎo)致上游運(yùn)行完的數(shù)據(jù)無法給下游的節(jié)點(diǎn)進(jìn)行消費(fèi),可能會造成死鎖的情況

任務(wù)部署階段:每個任務(wù)都要從哪些上游讀取數(shù)據(jù),這些信息會生成 Result Partition Deployment Descriptor。
這兩個構(gòu)建過程在之前的版本都有 O (n^2) 的時(shí)間復(fù)雜度,主要問題需要對于每個下游節(jié)點(diǎn)去遍歷每一個上游節(jié)點(diǎn)的情況。例如去遍歷每一個上游是不是一個 Pipeline 邊連接的關(guān)系,或者去遍歷它的每一個上游生成對應(yīng)的 Result Partition 信息。

目前通過引入 group 概念,假設(shè)已知上下游 2 個任務(wù)的連接方式是 all-to-all,那相當(dāng)于把所有 Pipeline Region 信息或者 Result Partition 信息以 Group 的形式進(jìn)行組合,這樣只需知道下游對應(yīng)的是上游的哪一個 group,就可以把一個 O (n^2) 的復(fù)雜度優(yōu)化到了 O (n)。我們用 wordcount 任務(wù)做了一下測試,對比優(yōu)化前后的性能。

從表格中可以看到構(gòu)建速度具有大幅度提升,構(gòu)建 Pipeline Region 的性能從秒級提升至毫秒級別。任務(wù)部署我們是從第一個任務(wù)開始部署到所有任務(wù)開始運(yùn)行的狀態(tài),這邊只統(tǒng)計(jì)了流,因?yàn)榕枰嫌谓Y(jié)束后才能結(jié)束調(diào)度。從整體時(shí)間來看,整個任務(wù)初始化,調(diào)度以及部署的階段,大概能夠減少分鐘級的時(shí)間消耗。

2. 細(xì)粒度資源管理

細(xì)粒度資源管理在過去很多的版本都一直在做,在 Flink1.14 終于可以把這一部分 API 開放出來在 DataSteam 提供給用戶使用了。用戶可以在 DataStream 中自定義 SlotSharingGroup 的劃分情況,如下圖所示的方式去定義 Slot 的資源劃分,實(shí)現(xiàn)了支持 DataStream API,自定義 SSG 劃分方式以及資源配置 TaskManager 動態(tài)資源扣減。

對于每一個 Slot 可以通過比較細(xì)粒度的配置,我們在 Runtime 上會自動根據(jù)用戶資源配置進(jìn)行動態(tài)的資源切割。

這樣做的好處是不會像之前那樣有固定資源的 Slot,而是做資源的動態(tài)扣減,通過這樣的方式希望能夠達(dá)到更加精細(xì)的資源管理和資源的使用率。

五、Table / SQL / Python API

1. Table API / SQL

Window Table-Valued Function 支持更多算子與窗口類型 ,可以看如下表格的對比:

從表格中可以看出對于原有的三個窗口類型進(jìn)行加強(qiáng),同時(shí)新增 Session 窗口類型,目前支持 Aggregate 的操作。

1.1 支持聲明式注冊 Source/Sink

Table API 支持使用聲明式的方式注冊 Source / Sink 功能對齊 SQL DDL;
同時(shí)支持 FLIP-27 新的 Source 接口;
new Source 替代舊的 connect() 接口。

1.2 全新代碼生成器

解決了大家在生成代碼超過 Java 最長代碼限制,新的代碼生成器會對代碼進(jìn)行拆解,徹底解決代碼超長的問題。

1.3 移除 Flink Planner

新版本中,Blink Planner 將成為 Flink Planner 的唯一實(shí)現(xiàn)。

2. Python API

在之前的版本中,如果有先后執(zhí)行的兩個 UDF,它的執(zhí)行過程如下圖左方。在 JVM 上面有 Java 的 Operator,先把數(shù)據(jù)發(fā)給 Python 下面的 UDF 去執(zhí)行,執(zhí)行后又發(fā)回給 Java,然后傳送給下游的 Operator,最后再進(jìn)行一次 Python 的這種跨進(jìn)程的傳輸去處理,會導(dǎo)致存在很多次冗余的數(shù)據(jù)傳輸。

在 1.14 版本中,改進(jìn)如右圖,可以把它們連接在一起,只需要一個來回的 Java 和 Python 進(jìn)行數(shù)據(jù)通信,通過減少傳輸數(shù)據(jù)次數(shù)就能夠達(dá)到比較好的性能上的提升。

3. 支持 LoopBack 模式

在以往本地執(zhí)行實(shí)際是在 Python 的進(jìn)程中去運(yùn)行客戶端程序,提交 Java 進(jìn)程啟動一個迷你集群去執(zhí)行 Java 部分代碼。Java 部分代碼也會和生產(chǎn)環(huán)境部分的一樣,去啟動一個新的 Python 進(jìn)程去執(zhí)行對應(yīng)的 Python UDF,從圖下可以看出新的進(jìn)程其實(shí)在本地調(diào)試中是沒有必要存在的。

所以支持 lookback 模式后可以讓 Java 的 opt 直接把 UDF 運(yùn)行在之前 Python client 所運(yùn)行的相同的進(jìn)程內(nèi),通過這種方式:

首先是避免了啟動額外進(jìn)程所帶來的開銷;
最重要的是在本地調(diào)試中,我們可以在同一個進(jìn)程內(nèi)能夠更好利用一些工具進(jìn)行 debug,這個是對開發(fā)者體驗(yàn)上的一個提升。

六、總結(jié)

本文主要講解了 Flink1.14 的主要新特性介紹。

首先介紹了目前社區(qū)在批流一體上的工作,通過介紹批流不同的執(zhí)行模式和 JM 節(jié)點(diǎn)任務(wù)觸發(fā)的優(yōu)化改進(jìn)更好的去兼容批作業(yè);
然后通過分析現(xiàn)有的 Checkpoint 機(jī)制痛點(diǎn),在新版本中如何改進(jìn),以及在大規(guī)模作業(yè)調(diào)度優(yōu)化和細(xì)粒度的資源管理上面如何做到對性能優(yōu)化;
最后介紹了 TableSQL API 和 Pyhton上相關(guān)的性能優(yōu)化。
歡迎繼續(xù)關(guān)注發(fā)版的一些最新動態(tài)以及我們在后續(xù)的 Release 過程中的一些其他技術(shù)分享和專題。

注釋

[1] 截至到 8 月 31 日,確定進(jìn)入新版本的是 33 個,已全部完成。

[2] Generalized Incremental Checkpoint 最終在 1.14 中沒有完成。

責(zé)任編輯:梁菲 來源: 阿里云云棲號
相關(guān)推薦

2011-11-08 10:17:34

Ubuntu 12.0特性

2009-06-15 09:35:48

Eclipse 3.5

2013-11-04 17:28:44

Android

2021-07-19 09:47:37

阿里云Flink 1.12資源管理

2012-05-21 14:16:36

Fedora17新特性

2021-12-10 14:53:17

微軟Windows 11Windows

2012-10-19 14:28:10

Ubuntu 12.1

2021-12-09 22:22:19

Windows 11操作系統(tǒng)微軟

2020-07-14 08:45:13

Flink特性jira

2009-08-18 09:37:42

ASP.NET 4.0

2013-06-27 09:35:26

Windows 8.1預(yù)覽版特性

2011-11-29 09:40:08

Linux Deepi特性

2011-11-23 09:56:01

Linux Deepi

2016-04-08 11:46:57

c#7新特性

2012-12-19 15:47:56

Linux Mint

2021-01-28 15:21:48

UbuntuGNOME

2013-06-27 13:01:58

Windows 8.1

2009-09-02 09:15:24

Windows Emb

2009-06-03 16:10:34

OpenSolaris

2024-09-11 09:30:58

IDEA工具編程
點(diǎn)贊
收藏

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

国产精品99久久久久久董美香 | 激情五月六月婷婷| 在线免费观看视频网站| 国产精品久久久久无码av| 欧美一区二区三区免费观看视频| 成人免费在线视频播放| 蜜桃视频在线播放| 精品亚洲成av人在线观看| 久久久久久久久电影| 亚洲精品国产熟女久久久| 国产亚洲亚洲国产一二区| 欧美日韩亚洲成人| 亚洲精品无人区| 手机在线精品视频| 精品一区二区三区在线播放| 97欧美精品一区二区三区| 亚洲毛片亚洲毛片亚洲毛片| 亚洲一区二区三区在线免费| 91久久国产最好的精华液| 黄色录像特级片| 国产一二在线观看| 国产成人福利片| 国产精品嫩草视频| 国产成人无码精品久在线观看| 成人免费电影网址| 日韩高清人体午夜| 中文字幕55页| 福利精品在线| 欧美午夜视频一区二区| 在线观看18视频网站| 国产美女视频一区二区三区| av电影在线观看完整版一区二区 | 亚洲一区导航| 91久久国产最好的精华液| 国产 日韩 欧美在线| 国产婷婷视频在线| 国产精品日日摸夜夜摸av| 精品国产乱码久久久久久108| 国产手机av在线| 日韩精品视频网| 26uuu国产精品视频| 欧美日韩一级在线观看| 小说区亚洲自拍另类图片专区| 亚洲欧洲国产一区| 一二三不卡视频| 久久免费视频66| 亚洲精品在线免费播放| 制服.丝袜.亚洲.中文.综合懂| 欧美成a人片免费观看久久五月天| 一本色道久久综合亚洲精品按摩| 国产精品无码人妻一区二区在线| 欧美女同一区| 亚洲综合视频网| 国产精品视频网站在线观看| 四虎av在线| 洋洋av久久久久久久一区| gogogo免费高清日本写真| 欧美激情黑人| 亚洲欧美日韩一区| 中国 免费 av| 性网站在线观看| 亚洲码国产岛国毛片在线| 黄色高清视频网站| caopo在线| 一区二区三区欧美日韩| 日韩久久久久久久久久久久| 91超碰在线免费| 亚洲摸摸操操av| 成人在线视频一区二区三区| 国产www视频在线观看| 亚洲国产成人高清精品| 男人用嘴添女人下身免费视频| 2021中文字幕在线| 亚洲国产精品尤物yw在线观看| 亚洲熟妇无码av在线播放| 国产网红在线观看| 精品日本高清在线播放| 久久久久久久激情| 九色成人搞黄网站| 欧美精品在线一区二区三区| 永久看看免费大片| 精品久久ai电影| 亚洲美女精品久久| 永久免费观看片现看| 伊人色**天天综合婷婷| 午夜剧场成人观在线视频免费观看| 日韩精品――中文字幕| 美女久久一区| 成人亚洲激情网| 欧美一级一区二区三区| 久久久久国产精品人| 亚洲成人第一| 国产99re66在线视频| 在线影院国内精品| 日本高清免费观看| 亚洲区小说区| 日韩在线观看精品| 欧美不卡视频在线观看| 久久国产夜色精品鲁鲁99| 99久久一区三区四区免费| 日韩在线无毛| 亚洲色大成网站www久久九九| 国产av人人夜夜澡人人爽麻豆| 中日韩脚交footjobhd| 欧美喷潮久久久xxxxx| 欧洲熟妇的性久久久久久| 热久久天天拍国产| 午夜免费日韩视频| 国产熟女一区二区三区四区| 久久婷婷国产综合精品青草| 中文字幕精品在线播放| 在线观看欧美日韩电影| 日韩一级片在线观看| 免费观看a级片| 在线亚洲激情| 97人人做人人人难人人做| 黄色免费在线播放| 亚洲一区二区三区四区五区中文| 999精彩视频| 免费福利视频一区| 九九热99久久久国产盗摄| 中文字幕av影视| 99国产精品久久久久久久久久久| 天堂av在线中文| www.久久.com| 亚洲无亚洲人成网站77777| 国产一级一片免费播放| 国产综合色精品一区二区三区| 蜜桃91精品入口| 丁香花在线影院| 91精品国产综合久久精品图片| 国产真实乱人偷精品人妻| 在线国产日韩| julia一区二区中文久久94| jizzjizz在线观看| 色成年激情久久综合| 久久久久9999| 亚洲激情欧美| 国产91aaa| 欧美人与性动交α欧美精品济南到 | 亚洲开发第一视频在线播放| 欧美日韩美女| 亚洲美女久久久| 久久久黄色大片| 91农村精品一区二区在线| 无码人妻少妇伦在线电影| 精品一区二区三区中文字幕视频| 精品久久久av| 国产精品久久久久久久免费看| 国产精品人成在线观看免费 | 国产在线视视频有精品| 一区二区在线观| 国产极品一区| 久久亚洲影音av资源网 | 精品少妇一二三区| 国产成人亚洲综合a∨婷婷| 欧美性受黑人性爽| 精品视频91| 欧美福利视频网站| 刘亦菲久久免费一区二区| 亚洲一区二区三区四区在线| 色综合久久五月| 国产精品普通话对白| 久久五月天婷婷| 欧美成人免费电影| 中文字幕av日韩| 最近国语视频在线观看免费播放| 国产精品视频观看| 欧美一级小视频| 亚洲视频一区| 久久久久久国产精品免费免费| 国产高清不卡| 视频一区视频二区国产精品| 国产伦精品一区二区三区四区| 亚洲免费观看视频| 欧美在线一级片| 天使萌一区二区三区免费观看| 亚欧洲精品在线视频免费观看| 亚洲香蕉久久| 97高清免费视频| 成人午夜电影在线观看| 4438x亚洲最大成人网| 精品99在线观看| 久久综合色综合88| 国产精品一区二区小说| 欧美日韩91| 欧美大香线蕉线伊人久久国产精品| 欧美日韩精品一区二区三区视频| 成年人精品视频| 无码精品人妻一区二区| 欧美吻胸吃奶大尺度电影| 国产精品 欧美激情| 成人精品高清在线| 中文字幕无码不卡免费视频| 一区二区三区四区日韩| 久久久综合亚洲91久久98| 成人精品国产| 欧美亚洲国产视频| 超碰在线caoporn| 亚洲欧美国产视频| 国产黄a三级三级看三级| 欧美视频13p| 欧美精品一级片| 中文字幕不卡的av| av网页在线观看| 国产在线精品免费| 91av在线免费播放| 亚洲大胆视频| 中国一级黄色录像| 国产a久久精品一区二区三区| 亚洲一区二区三区xxx视频| 免费电影日韩网站| 欧美贵妇videos办公室| 在线观看免费网站黄| 亚洲精品美女免费| 国产黄色片免费| 欧美日韩国产在线观看| 五月激情六月丁香| 亚洲一区二区三区四区不卡| 黄色裸体一级片| 国产午夜亚洲精品不卡| 最近中文字幕无免费| 国产经典欧美精品| 亚洲一区二区在线视频观看| 日韩精品欧美精品| 女人天堂av手机在线| 欧美视频一区| 精品国产无码在线| 日韩一区电影| 日韩色妇久久av| 亚洲日产av中文字幕| 国产精品高清一区二区三区| 四虎精品一区二区免费| 国产精品久久久久久久久久久不卡 | 久久精品高清| 日韩在线导航| 国产一区二区三区四区大秀| 久久精品成人一区二区三区蜜臀| 国产成人av毛片| 成人黄动漫网站免费| 日韩一二三区| 5566av亚洲| 日本精品在线播放| 92看片淫黄大片看国产片| vam成人资源在线观看| 国产一区二区色| 亚洲精品777| 国产原创欧美精品| 老司机精品视频网| 91在线观看免费高清完整版在线观看| 主播大秀视频在线观看一区二区| 国产成人福利网站| 欧美一区 二区 三区| 国产精品电影网| 国产精品亲子伦av一区二区三区| 国产精品日本精品| 日本中文字幕视频一区| 91久久久久久久久久久久久| 国产精品一区二区美女视频免费看 | 国产三级三级三级精品8ⅰ区| 在线免费看黄视频| 国产欧美精品区一区二区三区 | 午夜精品免费在线观看| 中文字幕日韩一级| 欧美午夜美女看片| 亚洲熟妇无码久久精品| 91精品久久久久久久99蜜桃| 精品人妻一区二区三区蜜桃| 精品捆绑美女sm三区| 亚洲AV第二区国产精品| 国产亚洲欧美日韩精品| 国产在线69| 国产做受69高潮| 欧美成人h版| 亚洲专区在线视频| 精品福利一区| 日韩免费av一区二区三区| 99久久亚洲精品蜜臀| 超碰超碰超碰超碰超碰| 99国产成+人+综合+亚洲欧美| 韩国一区二区av| 国产精品一区三区| 亚洲精品女人久久久| 亚洲国产精品精华液ab| 亚洲成人生活片| 欧美日韩综合视频| 国产成人毛毛毛片| 亚洲美女视频网| 中文字幕中文字幕在线中高清免费版 | 天天操天天干天天操天天干| 亚洲美腿欧美偷拍| 国产高清中文字幕| 欧美高清视频一二三区 | av不卡一区二区三区| 日本美女xxx| 亚洲国产sm捆绑调教视频| 欧美特级黄色片| 精品国产伦一区二区三区观看方式| 精华区一区二区三区| 欧美精品一本久久男人的天堂| 最近高清中文在线字幕在线观看1| 成人精品久久久| 中日韩免视频上线全都免费| 穿情趣内衣被c到高潮视频| 视频一区在线视频| 中文在线字幕观看| 国产精品美日韩| 99re这里只有精品在线| 日韩免费一区二区| 2021av在线| 欧美一级免费视频| 中文久久电影小说| 一区二区精品国产| 日韩综合小视频| 一级欧美一级日韩片| 亚洲精品一卡二卡| 亚洲一区在线观| 亚洲男人7777| 高清视频在线观看三级| 亚洲自拍偷拍视频| 日韩一区三区| 免费激情视频在线观看| 99在线精品视频| 欧美精品一区二区成人| 在线综合亚洲欧美在线视频| 国产片在线观看| 日产日韩在线亚洲欧美| 国产亚洲成av人片在线观黄桃| 麻豆视频传媒入口| 久久精品国产成人一区二区三区| 欧洲美一区二区三区亚洲 | 少妇性饥渴无码a区免费| 高清国产一区二区| 人妻久久一区二区| 69堂精品视频| 激情成人四房播| 国产中文字幕91| 欧美激情成人| 亚洲视频一二三四| 国产精品萝li| 中文字幕乱码一区二区| 亚洲视频在线播放| 性欧美超级视频| 欧美在线日韩精品| 玖玖精品视频| 91成人在线免费视频| 色屁屁一区二区| 国产人成在线视频| 国产乱肥老妇国产一区二| 成人在线亚洲| 91精品999| 亚洲精品五月天| 亚洲精品无码专区| 久久琪琪电影院| 欧美aaaaa级| 亚洲中文字幕久久精品无码喷水 | 亚洲国产成人精品女人久久久 | 国产中文字幕在线视频| 国产精品91久久久| 成人在线免费观看视频| 亚洲高清在线不卡| 亚洲综合一区在线| 天堂中文在线8| 国产精品盗摄久久久| 日本久久精品| 亚洲精品无码久久久久久久| 亚洲福利视频三区| 日韩大片b站免费观看直播| 国产精品video| 99久久99久久精品国产片果冰| 免费成人黄色大片| 亚洲一区电影777| 蜜桃视频在线入口www| 国产中文日韩欧美| 亚洲承认在线| 欧美福利第一页| 日韩欧美第一区| 桃色av一区二区| 亚洲区一区二区三区| 国产不卡视频在线观看| 天天干天天干天天干天天| 社区色欧美激情 | 91免费精品国偷自产在线在线 | 加勒比av一区二区| 精品视频久久久久| 中文日韩电影网站| 1313精品午夜理伦电影| 亚洲精品中文字幕无码蜜桃| 亚洲视频1区2区| 四虎影视在线播放| 国产欧美精品在线| 亚洲国产日韩在线| 国产欧美小视频| 亚洲成年人在线| 欧洲美女精品免费观看视频| 久久久久久免费看| 国产精品成人免费精品自在线观看| 欧美天堂在线视频| 国产在线视频2019最新视频| 免费在线亚洲|