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

我們一起深入理解Flink State

開發 后端
State是Flink流計算的關鍵部分。Flink 中的狀態分為兩種主要類型:Keyed State 和 Operator State。Flink提供了三種狀態后端:MemoryStateBackend、FsStateBackend、RocksDBStateBackend。對于Keyed State 和 Operator State應對擴縮容時有不同的分配方式。?

寫在前面

State是指流計算過程中計算節點的中間計算結果或元數據屬性,比如 在aggregation過程中要在state中記錄中間聚合結果,比如 Apache Kafka 作為數據源時候,我們也要記錄已經讀取記錄的offset,這些State數據在計算過程中會進行持久化(插入或更新)。本文將詳細介紹一下Flink State,通過本文,你可以了解到:

  • State分類
  • 什么是狀態后端(state backend)
  • State對擴縮容的處理

感謝關注,希望本文對你有所幫助。

State分類

Flink 中的狀態分為兩種主要類型:Keyed State 和 Operator State。

Keyed State

  • 概念:Keyed State 是和鍵(key)相關聯的狀態。在 Flink 的 Keyed Streams 上進行有狀態操作時(例如在使用 keyBy 方法后),每個 key 都會有自己的狀態實例,這個狀態是獨立的,即每個 key 的狀態對于其他 keys 不可見。
  • 用法:Keyed State 常用于需要按 key 進行分區處理的情況,如聚合計算(sum、min、max)、窗口操作和其他需要按 key 維護和更新狀態的計算。在 SQL 語句中,Keyed State 對應的就是通過 GroupBy 或 PartitionBy 所定義的字段分組。
  • 數據結構:Keyed State 底層通常是基于哈希表的實現,確保每個 key 都能快速地找到對應的狀態。這種狀態通常存儲在 Keyed State 后端中,可以是內存中,也可以是 RocksDB 這種本地存儲。

Operator State

  • 概念:Operator State 與特定的操作符實例(Task)相關聯,而不是和特定的 key 關聯。每個操作符實例維護自己的狀態,所有的 Operator State 實例對于同一操作符是可見的。
  • 用法:Operator State 通常用于記錄源(Source)和接收器(Sink)的相關狀態,或者用于需要操作符級別聚合的場合。例如,一個 Source Connector 可能會使用 Operator State 來記錄已經讀取的數據源的 offset。
  • 實現:Flink 提供了幾種不同的 Operator State 類型,包括列表狀態(ListState)、聯合列表狀態(UnionListState)、廣播狀態(BroadcastState)等。這些狀態通常存儲在 Operator State 后端中,可以是內存中,也可以是持久化存儲。

值得注意的是:

在 Flink 的 Table API 或 SQL API 中,對于內部的 GroupBy/PartitionBy 操作,Flink 會自動管理 Keyed State。而對于 Source Connector 記錄 offset 這樣的操作,通常是在底層的 DataStream API 中實現的,可能直接使用 Operator State 來管理。例如,Flink Kafka Consumer 會使用 Operator State 來存儲 Kafka 主題的分區 offset,以便在發生故障時能夠從上次成功的檢查點恢復。

什么是狀態后端(state backend)

State的具體存儲、訪問和維護是由**狀態后端(state backend)**決定的。狀態后端主要負責兩件事情:

  • 本地狀態管理
  • 將狀態以checkpoint的形式寫入遠程存儲

Flink提供了三種狀態后端:

MemoryStateBackend(內存狀態后端)

  • 存儲:狀態存儲在 TaskManager 的 JVM 堆內存上。生成checkpoint時,*MemoryStateBackend會將狀態發送至JobManager并保存到它的堆內存中。
  • 使用場景:適用于小規模狀態或本地測試,因為它將所有狀態作為序列化數據保存在 JVM 堆上。如果 TaskManager 發生故障,狀態會丟失。
  • 性能:由于狀態是直接存儲在內存中的,所以訪問速度很快。
  • 限制:狀態大小受限于 TaskManager 可用內存。大規模狀態可能導致內存溢出錯誤。

FsStateBackend(文件系統狀態后端)

  • 存儲:狀態存儲在 TaskManager 的 JVM 堆內存中(作為緩存),但在檢查點(checkpoint)時,會持久化到配置的文件系統(如 HDFS)中。
  • 使用場景:適用于需要持久化狀態以避免數據丟失的場景。在發生故障時,Flink 作業可以從文件系統中的檢查點恢復狀態。
  • 性能:由于狀態在內存中進行操作,并在檢查點時異步寫入文件系統,因此可以提供較快的狀態訪問速度,但可能受文件系統性能的限制。
  • 限制:內存中的狀態大小仍然受限于 TaskManager 可用內存,但由于檢查點數據被寫入到更穩定的文件系統,因此可以支持更大的狀態。

RocksDBStateBackend(RocksDB 狀態后端)

RocksDB是一個嵌入式鍵值存儲(key-value store),它可以將數據保存到本地磁盤上,為了從RocksDB中讀寫數據,系統需要對數據進行序列化和反序列化。

  • 存儲:狀態存儲在本地磁盤上的 RocksDB 數據庫中,檢查點數據會持久化到配置的文件系統中。
  • 使用場景:適用于大規模狀態管理的場景。由于 RocksDB 是一個優化的鍵值存儲,因此可以有效地管理大量狀態數據。
  • 性能:狀態訪問速度可能比內存狀態后端慢(磁盤讀寫以及序列化和反序列化對象的開銷),但 RocksDB 提供了針對大量狀態數據的優化。
  • 限制:對本地磁盤空間有需求,但由于狀態是在本地磁盤上操作,因此可以支持非常大的狀態。

在選擇狀態后端時,需要考慮應用的狀態大小、恢復速度、持久性和部署環境。對于生產環境,通常推薦使用 RocksDBStateBackend,因為它能夠提供良好的擴展性和容錯性。

State對擴縮容的處理

Operator State 的擴容處理

在 Apache Flink 中,對于有狀態的流處理作業,當作業進行擴容(scaling out)或縮容(scaling in)時,即增加或減少并行子任務的數量時,Flink 需要重新分配 OperatorState。這個過程稱為狀態重分配(state redistribution)。

對于 Operator State 的擴容處理,Flink 提供了不同的重分配模式來處理狀態:

ListState

對于 ListState 類型的 Operator State,如果流任務的并行度從 N 增加到 M,Flink 會將每個并行實例的狀態分成 M 份,然后將這些分片分配給新的并行實例。如果并行度減少,則相反,狀態將會聚合起來。

圖片圖片

擴容時:

  • 假設原來有 2 個并行實例,每個實例有自己的 ListState。
  • 擴容到 3 個并行實例。
  • Flink 會將每個原來的 ListState 平均分成 3 份。
  • 新的 3 個并行實例每個都會接收一份來自每個原始 ListState 的數據。

縮容時:

  • 假設原來有 3個并行實例。
  • 縮容到 1 個并行實例。
  • 現有的狀態將會被聚合,確保新的 1 個實例完整地包含原始狀態的全部數據。

BroadcastState

BroadcastState 的數據在擴容或縮容時會被復制到所有的并行實例中。由于 BroadcastState 是以廣播的方式存儲數據,所有并行實例的狀態都是相同的。

圖片圖片

UnionListState

對于 UnionListState 類型的 Operator State,在擴容或縮容時,狀態的每個元素將保持不變,原始狀態的所有元素將被統一地分發到新的并行實例中。這意味著每個元素僅分配給一個并行實例,但所有并行實例的狀態的并集會包括所有原始狀態的元素。隨后由任務自己決定哪些條目該保留,哪些該丟棄。

圖片圖片

思考:Source的擴容(并發數)是否可以超過Source物理存儲的partition數量呢?

在使用像 Apache Kafka 這樣的消息隊列作為數據源(Source)時,消息隊列中的數據被劃分為多個分區(partitions)。這種設計主要是為了支持數據的并行處理以及提高吞吐量。在使用 Flink 或類似的流處理框架時,一個常見的做法是將每個分區分配給一個并行的 Source 實例(也稱為 Source Task 或 Source Operator)進行處理。

如果嘗試將 Source 的并行度(并發數)設置得比物理存儲(比如 Kafka 主題)的分區數量還要高,那么將會有一些并行實例分配不到任何分區,因為分區的數量是固定的,且每個分區只能被一個并行實例消費(至少在 Flink 的默認設置下是這樣)。這會導致資源浪費,因為超出分區數量的那部分并行實例不會做任何實際的數據處理工作,但仍然占用系統資源。

因此,在設置 Source 的并行度時,通常的最佳實踐是:

  • 確保 Source 的并行度不超過其對應物理存儲(如 Kafka 主題)的分區數量。

如果需要增加并行度以提高處理能力,相應地也需要增加物理存儲的分區數量。對于 Kafka 來說,可以通過修改主題的分區配置來實現。
對于 Apache Flink,如果使用的是 Flink Kafka Connector,并且嘗試將并行度設置得比 Kafka 主題的分區數量還要高,Flink 會在作業啟動時進行檢查。如果發現這種配置不匹配的情況,Flink 會拋出異常并終止作業啟動,以避免資源浪費和潛在的配置錯誤。這種設計選擇確保了資源的有效利用和處理能力的合理分配,同時也避免了由于配置錯誤而導致的潛在問題。

KeyedState對擴容的處理

  • 什么是Key-Groups

KeyedState的算子在擴容時會根據新的任務數量對key進行重分區,為了降低狀態在不同任務之間遷移的成本,Flink不會單獨對key進行在分配,而是會把所有的鍵值分別存到不同的key-group中,每個key-group都包含了部分鍵值對。一個key-group是State分配的原子單位。

  • 什么決定Key-Groups的個數

key-group的數量在job啟動前必須是確定的且運行中不能改變。由于key-group是state分配的原子單位,而每個operator并行實例至少包含一個key-group,因此operator的最大并行度不能超過設定的key-group的個數,那么在Flink的內部實現上key-group的數量就是最大并行度的值。

  • 如何決定key屬于哪個Key-Group

為了決定一個key屬于哪個Key-Group,通常會采用一種叫做一致性哈希(Consistent Hashing)的算法。一致性哈希算法的基本思想是將所有的Key和所有的Key-Group都映射到同一個哈希環上。對每個Key進行哈希運算得到一個哈希值,然后在哈希環上找到一個順時針方向最近的Key-Group,這個Key就屬于這個Key-Group。即:Key到指定的key-group的邏輯是利用key的hashCode和maxParallelism取余操作的來分配的。

如下圖當parallelism=2,maxParallelism=10的情況下流上key與key-group的對應關系如下圖所示:

圖片圖片

如上圖key(a)的hashCode是97,與最大并發10取余后是7,被分配到了KG-7中,流上每個event都會分配到KG-0至KG-9其中一個Key-Group中。

上面的Stateful Operation節點的最大并行度maxParallelism的值是10,也就是我們一共有10個Key-Group,當我們并發是2的時候和并發是3的時候分配的情況如下圖:

圖片圖片

先計算每個Operator實例至少分配的Key-Group個數,將不能整除的部分N個,平均分給前N個實例。最終每個Operator實例管理的Key-Groups會在GroupRange中表示,本質是一個區間值。比如上圖是2->3擴容,那每個task的key-group的數量是:10/3≈3,也即是每個task先分3個key-group,然后把剩余的1個key-group分配給第一task。

值得注意的是:

Key-Group機制的特點就是每個具體的key(event)不關心落到具體的哪個task來處理,只關心會落到哪個Key-Group中:

  • 首先 一個job運行之后,如果要復用state,不允許在修改maxParallelism。
  • key 值的hash code決定落到哪個KG中,key本身不關系被哪個task處理,也就是說相同的KG在擴容前后可能被不同的task處理。

總結

State是Flink流計算的關鍵部分。Flink 中的狀態分為兩種主要類型:Keyed State 和 Operator State。Flink提供了三種狀態后端:MemoryStateBackend、FsStateBackend、RocksDBStateBackend。對于Keyed State 和 Operator State應對擴縮容時有不同的分配方式。

責任編輯:武曉燕 來源: 大數據技術與數倉
相關推薦

2025-01-15 09:34:02

C#屬性方法

2016-11-15 14:33:05

Flink大數據

2021-12-14 07:40:07

多線程面試CPU

2024-04-10 10:09:07

2021-12-10 07:45:48

字節音頻視頻

2016-11-22 17:05:54

Apache Flin大數據Flink

2018-05-16 11:05:49

ApacheFlink數據流

2021-10-26 09:55:52

CAP理論分布式

2022-03-08 17:52:58

TCP格式IP

2024-02-20 21:34:16

循環GolangGo

2021-08-27 07:06:10

IOJava抽象

2021-12-29 08:27:05

ByteBuffer磁盤服務器

2022-01-17 06:59:40

Grep指令linux

2021-07-28 07:53:20

Github ActiDotnet 應用

2022-03-31 18:59:43

數據庫InnoDBMySQL

2023-06-30 08:18:51

敏捷開發模式

2022-05-24 08:21:16

數據安全API

2023-08-10 08:28:46

網絡編程通信

2023-08-04 08:20:56

DockerfileDocker工具

2023-09-10 21:42:31

點贊
收藏

51CTO技術棧公眾號

9久久9毛片又大又硬又粗| 国产精品一区二区三区免费观看| 国产精品高清无码在线观看| 成人亚洲视频| 一区二区在线看| 久久精品人人做人人爽电影| 91在线公开视频| 精品69视频一区二区三区Q| 精品亚洲一区二区三区在线观看 | 97netav| 日韩精品一卡二卡| 色婷婷热久久| 亚洲国产欧美一区二区三区同亚洲 | 国产伦精品一区二区三区四区视频| 亚洲欧美综合另类| 亚洲一区二区三区无吗| 亚洲欧美在线免费观看| 黑人性生活视频| 日韩欧美精品电影| 亚洲国产视频在线| 亚洲视频导航| 欧美拍拍视频| 成人免费观看男女羞羞视频| 国产男女猛烈无遮挡91| 欧美 日韩 精品| 欧美精品国产一区| 主播福利视频一区| 成人免费看aa片| 好吊妞国产欧美日韩免费观看网站| 欧美视频完全免费看| 9久久9毛片又大又硬又粗| 18av在线视频| 最新高清无码专区| 亚洲欧洲久久| 成a人片在线观看www视频| 99久久综合国产精品| 99精彩视频| 99精品视频在线播放免费| 蜜桃一区二区三区在线| 国内精品视频一区| 久草视频免费在线| 综合一区在线| 日韩中文理论片| 中文字幕黄色网址| 精品日韩一区| 亚洲午夜久久久久久久| 97伦伦午夜电影理伦片| 欧美大胆a级| 亚洲第一精品福利| 99免费观看视频| 天堂精品久久久久| 日韩三级视频在线观看| 在线成人免费av| 亚洲精品毛片| 欧美日韩在线综合| 永久免费的av网站| 亚洲三级在线| 91精品国产综合久久婷婷香蕉| 欧美激情第3页| 亚洲男女网站| 日韩欧美国产三级| 黄色国产在线视频| 欧美久久香蕉| 亚洲人精选亚洲人成在线| 国产一二三四五区| 日本一区二区三区视频| 久久精品久久久久电影| 久久精品亚洲a| 中文字幕午夜精品一区二区三区| 欧美精品亚州精品| 久久精品国产亚洲av高清色欲 | 美女少妇精品视频| 久草视频在线免费看| 影音国产精品| 青青草一区二区| 亚洲一区 中文字幕| 激情综合五月婷婷| 国产精品久久一区二区三区| 天堂中文网在线| 久久综合色一综合色88| 色综合视频二区偷拍在线 | 久久久久五月天| 久久露脸国语精品国产91| 久久国产福利| 国产日韩中文字幕| 欧美熟妇交换久久久久久分类| 91色视频在线| 亚洲最新免费视频| segui88久久综合| 色噜噜偷拍精品综合在线| 成年网站免费在线观看| 国产精品xxx在线观看| 影音先锋日韩有码| 欧美毛片在线观看| 久久久夜精品| 91在线看网站| 国产区视频在线| 亚洲精品福利视频网站| 国产精品无码专区av在线播放| 91成人短视频在线观看| 亚洲精品小视频| 国产suv精品一区二区68| 99精品免费| 成人在线视频网站| 日本成人一区| 亚洲另类一区二区| 99热成人精品热久久66| 一区二区三区视频免费视频观看网站| 国产婷婷色综合av蜜臀av| 伊人久久久久久久久久久久久久| 在线亚洲免费| 91免费在线观看网站| 成年人在线视频| 欧美性猛交xxxx乱大交| 手机在线视频一区| 久久最新网址| 91精品国产乱码久久久久久久久 | 韩国v欧美v亚洲v日本v| 欧美亚洲丝袜| av小说在线播放| 欧美精品自拍偷拍动漫精品| av黄色在线免费观看| 午夜日韩激情| 成人欧美在线观看 | 久久综合亚洲社区| 中国女人一级一次看片| 99久久国产综合精品麻豆| a级片一区二区| 久久精品黄色| 一区二区三区动漫| 欧美日韩一二三四区| 成人av手机在线观看| 毛片在线视频观看| gogo大尺度成人免费视频| 色青青草原桃花久久综合| 69亚洲精品久久久蜜桃小说| 91麻豆国产在线观看| 成人黄色av片| 欧美美女啪啪| 97在线免费观看视频| 亚洲精品一区二区三区不卡| 一区二区三区日韩在线观看| 在线观看视频你懂得| 91精品国产乱码久久久久久| 国产综合色香蕉精品| 久久精品视频免费看| 7777精品伊人久久久大香线蕉超级流畅 | 欧美极品欧美精品欧美视频| 国产免费无遮挡| 1024成人网色www| 五月花丁香婷婷| 国产精品成人a在线观看| 成人国产精品一区二区| 日本在线免费播放| 欧美久久久影院| 手机在线免费看片| 国产麻豆一精品一av一免费| 国产乱人伦精品一区二区三区| 日韩在线观看中文字幕| 久久露脸国产精品| 天堂在线中文| 色又黄又爽网站www久久| 亚洲а∨天堂久久精品2021| 青青草国产精品亚洲专区无| 不卡中文字幕在线| 一区二区三区四区高清视频 | 日本国产欧美| 中文字幕欧美日韩va免费视频| 一区两区小视频| 亚洲品质自拍视频网站| 老司机午夜免费福利| 国产日韩1区| 日韩一二三区不卡在线视频| 9.1麻豆精品| 久久久中精品2020中文| 国产天堂素人系列在线视频| 欧美精品久久99久久在免费线 | 国产综合精品在线| 精品一区精品二区高清| 国产精品视频一二三四区| 久久黄色影视| 国产免费一区二区三区在线观看 | 久草福利在线视频| 欧美日本免费一区二区三区| 久久久久久久九九九九| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 欧美福利电影网| 日韩精品成人一区| 国产欧美精品一区二区三区四区| 污污视频网站在线| 亚洲一区成人| 日本一本草久p| 午夜精品影视国产一区在线麻豆| 国产在线98福利播放视频| av手机免费在线观看| 正在播放欧美一区| 亚洲精品一区二区三区蜜桃 | 亚洲一级免费在线观看| 1000部精品久久久久久久久| 少妇特黄a一区二区三区| 91嫩草精品| 国产精品久久久久久久av电影 | 日本亚洲欧洲色α| 肉肉视频在线观看| 亚洲性猛交xxxxwww| 亚洲精品成人电影| 欧美日韩国产一级| 女人十八岁毛片| 亚洲专区一二三| 亚洲 欧美 国产 另类| 337p粉嫩大胆噜噜噜噜噜91av| 国产一级二级av| 日韩1区2区日韩1区2区| 欧美 日韩 亚洲 一区| 欧美有码视频| 亚洲一卡二卡三卡四卡无卡网站在线看 | 大片免费在线观看| 国产亚洲成av人片在线观看桃| 成人毛片视频免费看| 欧美日韩成人高清| 无码人妻aⅴ一区二区三区有奶水 无码免费一区二区三区 | 精品视频一区二区| 日韩亚洲精品在线观看| 国产人妖伪娘一区91| 日韩欧美看国产| 久久久久国产精品免费网站| 动漫一区在线| 北条麻妃在线一区二区| 大乳在线免费观看| 亚洲男人的天堂网站| 神马久久久久久久久久| 欧美tickling挠脚心丨vk| 国产精品视频在线观看免费| 欧美丝袜丝交足nylons| 国产免费一级视频| 欧美日韩在线第一页| 日韩少妇高潮抽搐| 亚洲午夜在线观看视频在线| 婷婷色中文字幕| 亚洲视频图片小说| www欧美com| 一区二区三区在线观看欧美| 希岛爱理中文字幕| 亚洲男人的天堂在线aⅴ视频 | 亚欧色一区w666天堂| 久草成人在线视频| 亚洲一区二区精品久久av| 久久国产在线视频| 一区二区高清在线| 久久久久久久极品内射| 亚洲观看高清完整版在线观看| 国产亚洲精品久久久久久打不开| 亚洲自拍偷拍综合| 日产电影一区二区三区| 精品人伦一区二区三区蜜桃免费| 国内免费精品视频| 色综合久久综合网欧美综合网| 久久久久久久久久成人| 欧美日韩国产一二三| 国产精品自产拍| 精品剧情在线观看| 污污网站在线免费观看| 亚洲片av在线| 中文字幕在线观看日本| 久久亚洲电影天堂| 欧美韩日亚洲| 欧美一级电影久久| 精品裸体bbb| 亚洲伊人第一页| 任你躁在线精品免费| 日韩亚洲视频在线| 牛夜精品久久久久久久99黑人| 久久国产午夜精品理论片最新版本| 亚洲一区二区免费看| 99re精彩视频| 风间由美性色一区二区三区| 亚洲中文字幕无码av| 国产精品久久毛片av大全日韩| 看片网站在线观看| 色综合久久综合| 国产伦理一区二区| 亚洲国产精品成人av| av网站在线免费播放| 欧美成人午夜激情视频| 国产精品专区免费| 91gao视频| 欧美男gay| 四虎4hu永久免费入口| 噜噜噜躁狠狠躁狠狠精品视频| 天堂av8在线| 2023国产一二三区日本精品2022| 91麻豆精品久久毛片一级| 亚洲成人你懂的| 亚洲综合精品国产一区二区三区| 亚洲第一中文字幕在线观看| 成年人视频网站在线| 午夜精品视频在线| 欧美成人家庭影院| 九色综合婷婷综合| 一区二区在线| 精品免费国产一区二区| 国产成人精品午夜视频免费| 在线视频第一页| 香港成人在线视频| 国产精品探花视频| 国产午夜精品视频| av手机在线观看| 91在线短视频| 欧美电影一区| 成年人小视频网站| 91丨porny丨中文| 久草免费新视频| 欧美一区二区三区免费大片| 韩国精品视频| 97成人超碰免| h视频久久久| 日韩精品第1页| 精品一区免费av| avhd101老司机| 色婷婷综合视频在线观看| 欧美 日韩 国产 在线| 久久久国产精彩视频美女艺术照福利| 成人软件在线观看| 久久精品国产美女| 99视频一区| 91精品又粗又猛又爽| 一片黄亚洲嫩模| 国产乱淫片视频| 日韩亚洲欧美中文高清在线| 亚洲精品粉嫩美女一区| 欧美久久久久久久| 久久精品亚洲| av中文字幕免费观看| 欧美午夜丰满在线18影院| 天天综合永久入口| 久久久亚洲成人| 红杏视频成人| 99久久国产综合精品五月天喷水| 国产精品91一区二区| 中文字幕影音先锋| 91精品婷婷国产综合久久| 欧美日韩xx| 国产在线999| 综合精品久久| 久久国产免费视频| 亚洲国产精品综合小说图片区| 亚洲AV无码精品国产| 久久久欧美一区二区| 大型av综合网站| 久操网在线观看| av亚洲精华国产精华精| av中文在线播放| 亚洲欧美精品在线| 欧美三级精品| 中文字幕欧美日韩一区二区三区| 麻豆视频观看网址久久| 欧美特黄一级片| 欧美一级电影网站| 欧美草逼视频| 好看的日韩精品视频在线| 久久精品1区| 色www亚洲国产阿娇yao| 91精品国产91热久久久做人人| 欧美wwww| 久久这里精品国产99丫e6| 丝袜国产日韩另类美女| 国产精品免费在线视频| 日韩三区在线观看| 丝袜老师在线| 色乱码一区二区三在线看| 国内精品视频一区二区三区八戒| 日韩欧美视频免费观看| 日韩三级精品电影久久久| 国产理论在线| 日韩精品资源| 国产乱码精品一区二区三区忘忧草 | 免费av在线播放| 成人免费观看网站| 久久国产66| 在线免费日韩av| 亚洲精品在线看| 日韩欧美高清一区二区三区| 99999精品视频| 日韩一区有码在线| 日韩一级片免费看| 国产免费一区二区三区香蕉精| 欧美喷水视频| www.99热| 亚洲国产精品一区二区三区| 国产美女久久| 青青青青草视频| 中文字幕一区二区在线播放| 人妻一区二区三区| 国产免费成人av| 国产偷自视频区视频一区二区| 亚洲熟女少妇一区二区| 亚洲国产成人精品女人久久久| 国产三级一区| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 岛国一区二区在线观看|