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

Kafka 精妙的高性能設計之二

開發 架構 Kafka
在 上一篇文章 中,指出了高性能設計的兩個關鍵維度:計算和 IO,可以將它們理解成「道」。這篇文章將繼續對存儲消息和消費消息的 8 條高性能設計手段,逐個展開分析,廢話不多說,開始發車。

[[429455]]

大家好,我是武哥。

這是《吃透 MQ 系列》的連載:Kafka 高性能設計的下篇。在 上一篇文章 中,指出了高性能設計的兩個關鍵維度:計算和 IO,可以將它們理解成「道」。同時給出了 Kafka 高性能設計的全景圖,可以理解成「術」。

 

 

圖 1:Kafka 高性能設計的全景圖

這篇文章將繼續對存儲消息和消費消息的 8 條高性能設計手段,逐個展開分析,廢話不多說,開始發車。

一. 存儲消息的性能優化手段

存儲消息屬于 Broker 端的核心功能,下面是它所采用的 4 條優化手段。

 

 

1、IO 多路復用

對于 Kafka Broker 來說,要做到高性能,首先要考慮的是:設計出一個高效的網絡通信模型,用來處理它和 Producer 以及 Consumer 之間的消息傳遞問題。

先引用 Kafka 2.8.0 源碼里 SocketServer 類中一段很關鍵的注釋:

 

 

通過這段注釋,其實可以了解到 Kafka 采用的是:很典型的 Reactor 網絡通信模型,完整的網絡通信層框架圖如下所示:

 

 

圖 2:Kafka 網絡通信層的框架圖

通俗點記憶就是 1 + N + M:

  • 1:表示 1 個 Acceptor 線程,負責監聽新的連接,然后將新連接交給 Processor 線程處理。
  • N:表示 N 個 Processor 線程,每個 Processor 都有自己的 selector,負責從 socket 中讀寫數據。
  • M:表示 M 個 KafkaRequestHandler 業務處理線程,它通過調用 KafkaApis 進行業務處理,然后生成 response,再交由給 Processor 線程。

對于 IO 有所研究的同學,應該清楚:Reactor 模式正是采用了很經典的 IO 多路復用技術,它可以復用一個線程去處理大量的 Socket 連接,從而保證高性能。Netty 和 Redis 為什么能做到十萬甚至百萬并發?它們其實都采用了 Reactor 網絡通信模型。

2、磁盤順序寫

通過 IO 多路復用搞定網絡通信后,Broker 下一步要考慮的是:如何將消息快速地存儲起來?在 Kafka 存儲選型的奧秘 一文中提到了:Kafka 選用的是「日志文件」來存儲消息,那這種寫磁盤文件的方式,又究竟是如何做到高性能的呢?這一切得益于磁盤順序寫,怎么理解呢?Kafka 作為消息隊列,本質上就是一個隊列,是先進先出的,而且消息一旦生產了就不可變。這種有序性和不可變性使得 Kafka 完全可以「順序寫」日志文件,也就是說,僅僅將消息追加到文件末尾即可。有了順序寫的前提,我們再來看一個對比實驗,從下圖中可以看到:磁盤順序寫的性能遠遠高于磁盤隨機寫,甚至高于內存隨機寫。

 

 

圖3:磁盤和內存的 IO 速度對比

原因很簡單:對于普通的機械磁盤,如果是隨機寫入,性能確實極差,也就是隨便找到文件的某個位置來寫數據。但如果是順序寫入,因為可大大節省磁盤尋道和盤片旋轉的時間,因此性能提升了 3 個數量級。

3、Page Cache

磁盤順序寫已經很快了,但是對比內存順序寫仍然慢了幾個數量級,那有沒有可能繼續優化呢?答案是肯定的。

這里 Kafka 用到了 Page Cache 技術,簡單理解就是:利用了操作系統本身的緩存技術,在讀寫磁盤日志文件時,其實操作的都是內存,然后由操作系統決定什么時候將 Page Cache 里的數據真正刷入磁盤。通過下面這個示例圖便一目了然。

 

 

圖4:Kafka 的 Page Cache 原理

那 Page Cache 究竟什么時候會發揮最大的威力呢?這又不得不提 Page Cache 所用到的兩個經典原理。Page Cache 緩存的是最近會被使用的磁盤數據,利用的是「時間局部性」原理,依據是:最近訪問的數據很可能接下來再訪問到。而預讀到 Page Cache 中的磁盤數據,又利用了「空間局部性」原理,依據是:數據往往是連續訪問的。而 Kafka 作為消息隊列,消息先是順序寫入,而且立馬又會被消費者讀取到,無疑非常契合上述兩條局部性原理。因此,頁緩存可以說是 Kafka 做到高吞吐的重要因素之一。

除此之外,頁緩存還有一個巨大的優勢。用過 Java 的人都知道:如果不用頁緩存,而是用 JVM 進程中的緩存,對象的內存開銷非常大(通常是真實數據大小的幾倍甚至更多),此外還需要進行垃圾回收,GC 所帶來的 Stop The World 問題也會帶來性能問題。可見,頁緩存確實優勢明顯,而且極大地簡化了 Kafka 的代碼實現。

4、分區分段結構

磁盤順序寫加上頁緩存很好地解決了日志文件的高性能讀寫問題。但是如果一個 Topic 只對應一個日志文件,顯然只能存放在一臺 Broker 機器上。當面對海量消息時,單機的存儲容量和讀寫性能肯定有限,這樣又引出了又一個精妙的存儲設計:對數據進行分區存儲。我在 Kafka 架構設計的任督二脈 一文中詳細解釋了分區(Partition)的概念和作用,它是 Kafka 并發處理的最小粒度,很好地解決了存儲的擴展性問題。隨著分區數的增加,Kafka 的吞吐量得以進一步提升。其實在 Kafka 的存儲底層,在分區之下還有一層:那便是「分段」。簡單理解:分區對應的其實是文件夾,分段對應的才是真正的日志文件。

 

 

圖5:Kafka 的 分區分段存儲

每個 Partition 又被分成了多個 Segment,那為什么有了 Partition 之后,還需要 Segment 呢?

如果不引入 Segment,一個 Partition 只對應一個文件,那這個文件會一直增大,勢必造成單個 Partition 文件過大,查找和維護不方便。此外,在做歷史消息刪除時,必然需要將文件前面的內容刪除,只有一個文件顯然不符合 Kafka 順序寫的思路。而在引入 Segment 后,則只需將舊的 Segment 文件刪除即可,保證了每個 Segment 的順序寫。

二. 消費消息的性能優化手段

Kafka 除了要做到百萬 TPS 的寫入性能,還要解決高性能的消息讀取問題,否則稱不上高吞吐。下面再來看看 Kafka 消費消息時所采用的 4 條優化手段。

 

 

1、稀疏索引

如何提高讀性能,大家很容易想到的是:索引。Kafka 所面臨的查詢場景其實很簡單:能按照 offset 或者 timestamp 查到消息即可。如果采用 B Tree 類的索引結構來實現,每次數據寫入時都需要維護索引(屬于隨機 IO 操作),而且還會引來「頁分裂」這種比較耗時的操作。而這些代價對于僅需要實現簡單查詢要求的 Kafka 來說,顯得非常重。所以,B Tree 類的索引并不適用于 Kafka。相反,哈希索引看起來卻非常合適。為了加快讀操作,如果只需要在內存中維護一個「從 offset 到日志文件偏移量」的映射關系即可,每次根據 offset 查找消息時,從哈希表中得到偏移量,再去讀文件即可。(根據 timestamp 查消息也可以采用同樣的思路)但是哈希索引常駐內存,顯然沒法處理數據量很大的情況,Kafka 每秒可能會有高達幾百萬的消息寫入,一定會將內存撐爆??晌覀儼l現消息的 offset 完全可以設計成有序的(實際上是一個單調遞增 long 類型的字段),這樣消息在日志文件中本身就是有序存放的了,我們便沒必要為每個消息建 hash 索引了,完全可以將消息劃分成若干個 block,只索引每個 block 第一條消息的 offset 即可,先根據大小關系找到 block,然后在 block 中順序搜索,這便是 Kafka “稀疏索引” 的設計思想。

 

 

圖6:Kafka 的稀疏索引設計

采用 “稀疏索引”,可以認為是在磁盤空間、內存空間、查找性能等多方面的一個折中。有了稀疏索引,當給定一個 offset 時,Kafka 采用的是二分查找來高效定位不大于 offset 的物理位移,然后找到目標消息。

2、mmap

利用稀疏索引,已經基本解決了高效查詢的問題,但是這個過程中仍然有進一步的優化空間,那便是通過 mmap(memory mapped files) 讀寫上面提到的稀疏索引文件,進一步提高查詢消息的速度。

  • 注意:mmap 和 page cache 是兩個概念,網上很多資料把它們混淆在一起。此外,還有資料談到 Kafka 在讀 log 文件時也用到了 mmap,通過對 2.8.0 版本的源碼分析,這個信息也是錯誤的,其實只有索引文件的讀寫才用到了 mmap.

究竟如何理解 mmap?前面提到,常規的文件操作為了提高讀寫性能,使用了 Page Cache 機制,但是由于頁緩存處在內核空間中,不能被用戶進程直接尋址,所以讀文件時還需要通過系統調用,將頁緩存中的數據再次拷貝到用戶空間中。而采用 mmap 后,它將磁盤文件與進程虛擬地址做了映射,并不會招致系統調用,以及額外的內存 copy 開銷,從而提高了文件讀取效率。

 

 

圖7:mmap 示意圖,引自《碼農的荒島求生》

關于 mmap,好友小風哥寫過一篇很通俗的文章: mmap 可以讓程序員解鎖哪些騷操作?大家可以參考。具體到 Kafka 的源碼層面,就是基于 JDK nio 包下的 MappedByteBuffer 的 map 函數,將磁盤文件映射到內存中。至于為什么 log 文件不采用 mmap?其實是一個特別好的問題,這個問題社區并沒有給出官方答案,網上的答案只能揣測作者的意圖。個人比較認同 stackoverflow 上的這個答案:

mmap 有多少字節可以映射到內存中與地址空間有關,32 位的體系結構只能處理 4GB 甚至更小的文件。Kafka 日志通常足夠大,可能一次只能映射部分,因此讀取它們將變得非常復雜。然而,索引文件是稀疏的,它們相對較小。將它們映射到內存中可以加快查找過程,這是內存映射文件提供的主要好處。

3、零拷貝

消息借助稀疏索引被查詢到后,下一步便是:將消息從磁盤文件中讀出來,然后通過網卡發給消費者,那這一步又可以怎么優化呢?Kafka 用到了零拷貝(Zero-Copy)技術來提升性能。所謂的零拷貝是指數據直接從磁盤文件復制到網卡設備,而無需經過應用程序,減少了內核和用戶模式之間的上下文切換。

下面這個過程是不采用零拷貝技術時,從磁盤中讀取文件然后通過網卡發送出去的流程,可以看到:經歷了 4 次拷貝,4 次上下文切換。

 

 

圖8:非零拷貝技術的流程圖,引自《艾小仙》

如果采用零拷貝技術(底層通過 sendfile 方法實現),流程將變成下面這樣??梢钥吹剑褐恍?3 次拷貝以及 2 次上下文切換,顯然性能更高。

 

 

圖9:零拷貝技術的流程圖,引自《艾小仙》

4、批量拉取

和生產者批量發送消息類似,消息者也是批量拉取消息的,每次拉取一個消息集合,從而大大減少了網絡傳輸的 overhead。另外,在 Kafka 精妙的高性能設計(上篇) 中介紹過,生產者其實在 Client 端對批量消息進行了壓縮,這批消息持久化到 Broker 時,仍然保持的是壓縮狀態,最終在 Consumer 端再做解壓縮操作。

三. 寫在最后

以上就是 Kafka 12 條高性能設計手段的詳解,這兩篇文章先從 IO 和計算兩個維度進行宏觀上的切入,然后順著 MQ 一發一存一消費的脈絡,從微觀上解構了 Kafka 高性能的全景圖。可以說 Kafka 在高性能設計方面是教科書式的存在,它從 Prodcuer 、到 Broker、再到 Consumer,在掏空心思地優化每一個細節,最終才做到了單機每秒幾十萬 TPS 的極致性能。

最后,希望本文的分析技巧可以幫助你吃透其他高性能的中間件。我是武哥,我們下期見!

 

責任編輯:姜華 來源: 武哥漫談IT
相關推薦

2021-08-30 09:30:29

Kafka高性能設計

2019-10-17 09:23:49

Kafka高性能架構

2020-01-07 16:16:57

Kafka開源消息系統

2020-07-16 08:06:53

網關高性能

2024-09-02 18:10:20

2022-06-28 08:42:03

磁盤kafka高性能

2024-02-26 07:43:10

大語言模型LLM推理框架

2011-04-15 13:12:09

.NETMEF

2024-07-05 09:41:42

2023-09-22 11:48:37

2024-02-19 08:17:10

Kafka消息隊列收發消息

2021-07-06 10:35:46

分布式KafkaLinux

2023-05-08 14:56:00

Kafka高可靠高性能

2014-01-03 13:56:00

手游用戶體驗設計啟動和停止

2013-12-02 10:34:32

虛擬化實戰Cluster

2012-08-20 09:22:32

2016-09-28 15:02:39

數據庫防火墻高性能

2021-04-21 15:21:37

技術架構高并發基礎源碼解析

2024-11-12 08:13:09

2025-06-12 02:22:00

Netflix前端系統
點贊
收藏

51CTO技術棧公眾號

一本色道久久综合亚洲精品不卡| 国产精品久久久久久久久久久久久久久| 不卡av在线免费观看| 午夜美女久久久久爽久久| 少妇饥渴放荡91麻豆| 69堂免费精品视频在线播放| 亚洲男人的天堂av| 久久国产精品免费一区| 中文字幕 视频一区| 久久精品视频观看| 国产jizzjizz一区二区| 欧美中文在线观看| 三级全黄做爰视频| 一区二区在线免费播放| 91福利国产成人精品照片| 最新不卡av| 亚洲欧美日韩综合在线| 精品一区二区三区免费| 51久久精品夜色国产麻豆| 国产精品99久久久久久成人| 少妇高潮一区二区三区| 日韩一区二区三免费高清| 国产精品免费成人| 黄色成人在线| 国产日韩欧美综合在线| 国产女人水真多18毛片18精品 | www.xxxx日本| 久久不见久久见免费视频7| 日韩美女久久久| 久久爱av电影| 精品人妻无码一区二区色欲产成人 | 亚洲欧美中文日韩在线v日本| 涩涩网站在线看| 午夜av成人| 欧美性xxxx极品hd欧美风情| 久久99久久99精品| 国产原厂视频在线观看| 欧美激情综合五月色丁香小说| 开心色怡人综合网站| 亚洲卡一卡二卡三| 国产一区二区三区国产| 国产欧美在线观看| 日韩不卡高清视频| 亚洲永久网站| 91av在线免费观看视频| 国产在线观看成人| 欧美日韩精品一本二本三本| 久久人体大胆视频| 亚洲综合图片一区| 香蕉综合视频| 不卡av在线网站| 亚洲一区电影在线观看| 久久久综合色| 色老头一区二区三区在线观看| 天天舔天天操天天干| 久久综合欧美| 中文字幕在线看视频国产欧美在线看完整| 婷婷色一区二区三区| 国产精品一区二区99| 亚洲欧美日韩国产中文| 欧美大波大乳巨大乳| 九九精品久久| 伊人精品在线观看| 特级西西人体高清大胆| 国产大片一区| 免费91在线视频| 国产无精乱码一区二区三区| 亚洲国产日韩欧美一区二区三区| 国产91精品久| 最近免费中文字幕大全免费版视频| 免费一区视频| 国产精品一区久久久| 国产精品熟女久久久久久| 国产一区中文字幕| 国产精品视频在线免费观看| 五月天激情开心网| 国产三级精品在线| 国产av不卡一区二区| 免费污视频在线观看| 高跟丝袜一区二区三区| 成人精品小视频| 最新亚洲国产| 亚洲精品成人久久久| 精品无码国产污污污免费网站 | 精品中文字幕一区二区三区av| 伊人一区二区三区久久精品| 国产高清视频免费在线观看| 黑人一区二区| 国产精品高潮呻吟视频| 国产乱码一区二区| 波多野结衣中文一区| 日本一区视频在线| 成人a在线视频免费观看| 性感美女极品91精品| 日韩精品一区二区三区不卡 | 精品国产伦一区二区三区免费 | www黄色网址| 91免费观看在线| 欧美少妇一级片| 国内激情视频在线观看| 欧美精品在线观看播放| 亚洲天堂2024| 亚洲香蕉av| 热99精品只有里视频精品| 国产精品九九九九| 久久久久成人黄色影片| 日韩欧美视频免费在线观看| 影视一区二区三区| 精品福利一区二区三区免费视频| 永久免费观看片现看| 在线视频精品| 亚洲在线观看视频网站| 国产经典自拍视频在线观看| 一区二区高清在线| 亚州精品一二三区| 亚洲美女久久| 欧美激情亚洲国产| 在线观看毛片视频| 26uuu国产在线精品一区二区| 草草草视频在线观看| 韩国理伦片久久电影网| 日韩精品免费在线视频| 亚洲网中文字幕| 丝袜美腿一区二区三区动态图| 九九九久久久久久| 一区精品在线观看| 久久综合一区二区| 人妻夜夜添夜夜无码av| 日韩最新av| 久久精品2019中文字幕| 91视频久久久| 9i在线看片成人免费| 欧美激情亚洲天堂| 国产精品免费精品自在线观看 | 免费成人深夜天涯网站| 国产精品一区毛片| 精品91免费| 2018av在线| 日韩精品在线一区| √天堂中文官网8在线| 久久精品国产秦先生| 日韩中文一区二区三区| 鲁鲁在线中文| 色综合欧美在线| 中文字幕在线永久| 国产精品www.| 国产精品手机在线| 超碰在线97国产| 精品国产91洋老外米糕| 久久午夜无码鲁丝片| 国产a视频精品免费观看| 久久香蕉视频网站| 亚洲国产aⅴ精品一区二区| 欧美成人免费全部| 性欧美8khd高清极品| 亚洲综合色区另类av| 国产人成视频在线观看| 樱花草涩涩www在线播放| 日韩欧美国产一二三区| 青青草原在线免费观看视频| 丰满放荡岳乱妇91ww| 久久精品xxx| 另类图片第一页| 日本久久久久久久久| 国自产拍在线网站网址视频| 在线日韩一区二区| 女同久久另类69精品国产| 国产在线一区二区综合免费视频| 日韩精品一区二区三区电影| 草莓视频一区二区三区| 91精品国产91久久久久久| 欧美日韩视频精品二区| 欧美日韩亚洲综合一区二区三区| 国产老头老太做爰视频| 成人黄页在线观看| 日本www高清视频| 亚洲91视频| av在线不卡一区| 亚洲欧洲高清| 最近2019好看的中文字幕免费| aaaa一级片| 亚洲成人你懂的| 欧美三级视频网站| 国产精品综合网| 国产黄色一级网站| 日韩精品dvd| 欧美激情乱人伦| 日韩精品系列| 欧美区视频在线观看| 久久久无码一区二区三区| 2017欧美狠狠色| 亚洲高清视频免费| 国产欧美日韩亚洲一区二区三区| 日韩av电影在线观看| 日韩视频一区二区三区四区| 欧美在线激情网| caoporn97在线视频| 日韩不卡在线观看| 91成人一区二区三区| 精品久久久久久久久久久久| 国产精品理论在线| 成人一区二区三区| 日本免费一级视频| 91精品国产视频| 欧美一区二区视频17c| 亚洲成人黄色| 91精品久久久久久| 亚洲欧美小说色综合小说一区| 久久不射电影网| 国产免费av高清在线| 欧美精品一区二区久久久| 国产精品毛片一区二区在线看舒淇| 欧美日韩美女在线| 欧美成人一区二区三区高清| 国产精品丝袜黑色高跟| 懂色av粉嫩av蜜乳av| 大尺度一区二区| 手机在线免费毛片| 国产一区二区三区的电影| 在线丝袜欧美日韩制服| 九热爱视频精品视频| 国产精品一区二区免费看| 日韩欧美专区| 国产精品成人品| 国产免费不卡| 久久久久中文字幕| 亚洲制服国产| 久久久久999| 日本中文字幕视频在线| 原创国产精品91| 激情在线视频| 国产亚洲激情视频在线| 日中文字幕在线| 日韩av在线直播| 日韩在线观看视频一区| 精品久久久网站| 国产精品视频一二区| 欧美美女视频在线观看| 中文字幕在线网站| 在线观看三级视频欧美| 视频一区二区三区四区五区| 欧美日韩国产麻豆| 日韩欧美一区二区一幕| 性欧美大战久久久久久久久| 久久精品久久国产| 亚洲一区二区在线视频| 久久精品一区二区三| 一个色综合网站| 精品无码一区二区三区电影桃花| 亚洲精品乱码久久久久久黑人| 91嫩草|国产丨精品入口| 亚洲免费高清视频在线| 青青草偷拍视频| 香蕉久久一区二区不卡无毒影院 | 午夜在线免费观看视频| 日韩在线小视频| 国产成人高清精品| 欧美成年人视频| 黄色美女视频在线观看| 久久久久久久国产| 松下纱荣子在线观看| 国产97在线播放| 国产美女久久| 亚洲精品日韩av| 超碰97久久国产精品牛牛| 国产一级精品aaaaa看| 久久综合影院| 综合视频在线观看| 欧美日本中文| 99爱视频在线| 蜜乳av一区二区三区| 91丨porny丨九色| www.色综合.com| 亚洲av熟女国产一区二区性色| 亚洲人成精品久久久久| 国产精品成人久久| 欧美性猛交一区二区三区精品| 国产一区二区三区四区视频| 精品国产人成亚洲区| 日本成人一区| 久久视频免费观看| 国内精彩免费自拍视频在线观看网址| 国产成人精品久久久| 日韩成人综合网站| 国产亚洲一区二区三区在线播放| 国内精品久久久久久99蜜桃| 最新黄色av网站| 国产精品毛片一区二区三区| 在线播放av中文字幕| a级高清视频欧美日韩| 性猛交娇小69hd| 一区二区三区欧美久久| 亚洲不卡在线视频| 欧美一区二区三区人| 久久电影中文字幕| 欧美激情网友自拍| 男女啪啪999亚洲精品| 国产欧美日韩伦理| 91亚洲国产| 99精品免费在线观看| 国产精品一区二区三区四区| 黄色aaa视频| 一区二区不卡在线播放| www.av88| 精品在线小视频| 男人添女人下部高潮视频在线观看| 国产成人+综合亚洲+天堂| 91麻豆精品激情在线观看最新| 亚洲精品一区二| 亚洲欧美清纯在线制服| 不卡的一区二区| 国产精品初高中害羞小美女文| www欧美在线| 欧美va在线播放| 激情视频在线观看| 国产精品精品国产| 亚洲第一二三区| 给我免费播放片在线观看| 国内精品免费**视频| 国产高潮呻吟久久| 激情av一区二区| 免费看日韩av| 欧美国产精品日韩| 精品999日本久久久影院| 亚洲欧洲日本国产| 日韩有码一区二区三区| 欧美 日本 国产| 午夜a成v人精品| 俄罗斯嫩小性bbwbbw| 欧美成人精品在线观看| 精品久久国产一区| 亚洲第一精品区| 精品午夜久久福利影院| youjizz亚洲女人| 欧美日韩卡一卡二| porn视频在线观看| 国产成人亚洲综合青青| 国产精品探花在线观看| 男人的天堂日韩| 国产午夜精品久久久久久免费视| 欧美一区二区三区四| 亚洲精品电影在线| av资源在线| 久久久久se| 午夜亚洲一区| 亚洲AV无码国产成人久久| 色噜噜狠狠色综合中国| 精品999视频| 国产精品入口免费视| 成人精品影视| 中文字幕资源在线观看| 亚洲色大成网站www久久九九| 99久久国产免费| 欧美国产乱视频| 欧美变态网站| 成人久久久久久久久| 久久久久国产成人精品亚洲午夜| 99久久久久久久久| 欧美日韩在线播放一区| 91社区在线观看| 亚洲一区制服诱惑| 欧美午夜影院| 日本一区二区在线免费观看| 日韩欧美国产免费播放| 国产色a在线| 成人免费在线视频网址| 欧美另类女人| 97人妻精品一区二区三区免| 日本乱人伦一区| 国产剧情在线| 国产乱码精品一区二区三区不卡| 夜久久久久久| 亚欧精品视频一区二区三区| 91精品国产91久久久久久最新毛片| 激情av在线| 欧美一级二级三级九九九| 久久99这里只有精品| 国产无码精品在线播放| 国产一区二区三区久久精品| 久久99精品久久久野外观看| 国产高清av在线播放| 久久精品亚洲精品国产欧美kt∨| 国产美女精品视频国产| 久久久免费高清电视剧观看| 国产精品嫩模av在线| 五月天开心婷婷| 欧美日韩性生活视频| 亚洲欧美视频一区二区| www.久久草| 青青草伊人久久| 亚洲精品在线观看av| 永久555www成人免费| eeuss国产一区二区三区四区| 成年人小视频网站| 一区二区三区四区高清精品免费观看 | 欧美大片在线观看一区| 你懂得影院夜精品a| avav在线播放| 国产精品久久久久一区| 日本美女一级视频|