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

圖解 Kafka 架構與工作原理

開發 架構 Kafka
實時數據處理,從名字上看,很好理解,就是將數據進行實時處理,在現在流行的微服務開發中,最常用實時數據處理平臺有 RabbitMQ、RocketMQ 等消息中間件。

[[438966]]

一、認識kafka

面試官提問:什么是 Kafka ?用來干嘛的?

官方定義如下:

Kafka is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies.

翻譯過來,大致的意思就是,這是一個實時數據處理系統,可以橫向擴展,并高可靠!

實時數據處理,從名字上看,很好理解,就是將數據進行實時處理,在現在流行的微服務開發中,最常用實時數據處理平臺有 RabbitMQ、RocketMQ 等消息中間件。

這些中間件,最大的特點主要有兩個:

  • 服務解耦
  • 流量削峰

在早期的 web 應用程序開發中,當請求量突然上來了時候,我們會將要處理的數據推送到一個隊列通道中,然后另起一個線程來不斷輪訓拉取隊列中的數據,從而加快程序的運行效率。

但是隨著請求量不斷的增大,并且隊列通道的數據一致處于高負載,在這種情況下,應用程序的內存占用率會非常高,稍有不慎,會出現內存不足,造成程序內存溢出,從而導致服務不可用。

隨著業務量的不斷擴張,在一個應用程序內,使用這種模式已然無法滿足需求,因此之后,就誕生了各種消息中間件,例如 ActiveMQ、RabbitMQ、RocketMQ 等中間件。

采用這種模型,本質就是將要推送的數據,不在存放在當前應用程序的內存中,而是將數據存放到另一個專門負責數據處理的應用程序中,從而實現服務解耦。

消息中間件:主要的職責就是保證能接受到消息,并將消息存儲到磁盤,即使其他服務都掛了,數據也不會丟失,同時還可以對數據消費情況做好監控工作。

應用程序:只需要將消息推送到消息中間件,然后啟用一個線程來不斷從消息中間件中拉取數據,進行消費確認即可!

引入消息中間件之后,整個服務開發會變得更加簡單,各負其責。

Kafka 本質其實也是消息中間件的一種,Kafka 出自于 LinkedIn 公司,與 2010 年開源到 github。

LinkedIn 的開發團隊,為了解決數據管道問題,起初采用了 ActiveMQ 來進行數據交換,大約是在 2010 年前后,那時的 ActiveMQ 還遠遠無法滿足 LinkedIn 對數據傳遞系統的要求,經常由于各種缺陷而導致消息阻塞或者服務無法正常訪問,為了能夠解決這個問題,LinkedIn 決定研發自己的消息傳遞系統,Kafka 由此誕生。

在 LinkedIn 公司,Kafka 可以有效地處理每天數十億條消息的指標和用戶活動跟蹤,其強大的處理能力,已經被業界所認可,并成為大數據流水線的首選技術。

二、架構介紹

先來看一張圖,下面這張圖就是 kafka 生產與消費的核心架構模型!

如果你看不懂這些概念沒關系,我會帶著大家一起梳理一遍!

  • Producer:Producer 即生產者,消息的產生者,是消息的入口
  • Broker:Broker 是 kafka 一個實例,每個服務器上有一個或多個 kafka 的實例,簡單的理解就是一臺 kafka 服務器,kafka cluster表示集群的意思
  • Topic:消息的主題,可以理解為消息隊列,kafka的數據就保存在topic。在每個 broker 上都可以創建多個 topic 。
  • Partition:Topic的分區,每個 topic 可以有多個分區,分區的作用是做負載,提高 kafka 的吞吐量。同一個 topic 在不同的分區的數據是不重復的,partition 的表現形式就是一個一個的文件夾!
  • Replication:每一個分區都有多個副本,副本的作用是做備胎,主分區(Leader)會將數據同步到從分區(Follower)。當主分區(Leader)故障的時候會選擇一個備胎(Follower)上位,成為 Leader。在kafka中默認副本的最大數量是10個,且副本的數量不能大于Broker的數量,follower和leader絕對是在不同的機器,同一機器對同一個分區也只可能存放一個副本
  • Message:每一條發送的消息主體。
  • Consumer:消費者,即消息的消費方,是消息的出口。
  • Consumer Group:我們可以將多個消費組組成一個消費者組,在 kafka 的設計中同一個分區的數據只能被消費者組中的某一個消費者消費。同一個消費者組的消費者可以消費同一個topic的不同分區的數據,這也是為了提高kafka的吞吐量!
  • Zookeeper:kafka 集群依賴 zookeeper 來保存集群的的元信息,來保證系統的可用性。

簡而言之,kafka 本質就是一個消息系統,與大多數的消息系統一樣,主要的特點如下:

  • 使用推拉模型將生產者和消費者分離
  • 為消息傳遞系統中的消息數據提供持久性,以允許多個消費者
  • 提供高可用集群服務,主從模式,同時支持橫向水平擴展

與 ActiveMQ、RabbitMQ、RocketMQ 不同的地方在于,它有一個分區Partition的概念。

這個分區的意思就是說,如果你創建的topic有5個分區,當你一次性向 kafka 中推 1000 條數據時,這 1000 條數據默認會分配到 5 個分區中,其中每個分區存儲 200 條數據。

這樣做的目的,就是方便消費者從不同的分區拉取數據,假如你啟動 5 個線程同時拉取數據,每個線程拉取一個分區,消費速度會非常非常快!

這是 kafka 與其他的消息系統最大的不同!

2.1、發送數據

和其他的中間件一樣,kafka 每次發送數據都是向Leader分區發送數據,并順序寫入到磁盤,然后Leader分區會將數據同步到各個從分區Follower,即使主分區掛了,也不會影響服務的正常運行。

那 kafka 是如何將數據寫入到對應的分區呢?kafka中有以下幾個原則:

  • 1、數據在寫入的時候可以指定需要寫入的分區,如果有指定,則寫入對應的分區
  • 2、如果沒有指定分區,但是設置了數據的key,則會根據key的值hash出一個分區
  • 3、如果既沒指定分區,又沒有設置key,則會輪詢選出一個分區

2.2、消費數據

與生產者一樣,消費者主動的去kafka集群拉取消息時,也是從Leader分區去拉取數據。

這里我們需要重點了解一個名詞:消費組!

考慮到多個消費者的場景,kafka 在設計的時候,可以由多個消費者組成一個消費組,同一個消費組者的消費者可以消費同一個 topic 下不同分區的數據,同一個分區只會被一個消費組內的某個消費者所消費,防止出現重復消費的問題!

但是不同的組,可以消費同一個分區的數據!

你可以這樣理解,一個消費組就是一個客戶端,一個客戶端可以由很多個消費者組成,以便加快消息的消費能力。

但是,如果一個組下的消費者數量大于分區數量,就會出現很多的消費者閑置。

如果分區數量大于一個組下的消費者數量,會出現一個消費者負責多個分區的消費,會出現消費性能不均衡的情況。

因此,在實際的應用中,建議消費者組的consumer的數量與partition的數量保持一致!

三、kafka 安裝

光說理論可沒用,下面我們就以 centos7 為例,介紹一下 kafka 的安裝和使用。

kafka 需要 zookeeper 來保存服務實例的元信息,因此在安裝 kafka 之前,我們需要先安裝 zookeeper。

3.1、安裝zookeeper

zookeeper 安裝環境依賴于 jdk,因此我們需要事先安裝 jdk

  1. # 安裝jdk1.8 
  2.  
  3. yum -y install java-1.8.0-openjdk 

下載zookeeper,并解壓文件包

  1. #在線下載zookeeper 
  2. wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz 
  3.  
  4. #解壓 
  5. tar -zxvf zookeeper-3.4.12.tar.gz 

創建數據、日志目錄

  1. #創建數據和日志存放目錄 
  2. cd /usr/zookeeper/ 
  3. mkdir data 
  4. mkdir log 
  5.  
  6. #把conf下的zoo_sample.cfg備份一份,然后重命名為zoo.cfg 
  7. cd conf/ 
  8. cp zoo_sample.cfg zoo.cfg 

配置zookeeper

  1. #編輯zoo.cfg文件 
  2. vim zoo.cfg 

重新配置dataDir和dataLogDir的存儲路徑

最后,啟動 Zookeeper 服務

  1. #進入Zookeeper的bin目錄 
  2. cd zookeeper/zookeeper-3.4.12/bin 
  3.  
  4. #啟動Zookeeper 
  5. ./zkServer.sh start 
  6.  
  7. #查詢Zookeeper狀態 
  8. ./zkServer.sh status 
  9.  
  10. #關閉Zookeeper狀態 
  11. ./zkServer.sh stop 

3.2、安裝kafka

到官網http://kafka.apache.org/downloads.html下載想要的版本,我這里下載是最新穩定版2.8.0。

  1. #下載kafka 安裝包 
  2. wget https://apache.osuosl.org/kafka/2.8.0/kafka-2.8.0-src.tgz 
  3.  
  4. #解壓文件包 
  5. tar -xvf kafka-2.8.0-src.tgz 

按需修改配置文件server.properties(可選)

  1. #進入配置文件夾 
  2. cd  kafka-2.8.0-src/config 
  3.  
  4. #編輯server.properties 
  5. vim server.properties 

server.properties文件內容如下:

  1. broker.id=0 
  2. listeners=PLAINTEXT://localhost:9092 
  3. num.network.threads=3 
  4. num.io.threads=8 
  5. socket.send.buffer.bytes=102400 
  6. socket.receive.buffer.bytes=102400 
  7. socket.request.max.bytes=104857600 
  8. log.dirs=/tmp/kafka-logs 
  9. num.partitions=1 
  10. num.recovery.threads.per.data.dir=1 
  11. offsets.topic.replication.factor=1 
  12. transaction.state.log.replication.factor=1 
  13. transaction.state.log.min.isr=1 
  14. log.retention.hours=168 
  15. log.segment.bytes=1073741824 
  16. log.retention.check.interval.ms=300000 
  17. zookeeper.connect=localhost:2181 
  18. zookeeper.connection.timeout.ms=6000 
  19. group.initial.rebalance.delay.ms=0 

其中有四個重要的參數:

  • broker.id:唯一標識ID
  • listeners=PLAINTEXT://localhost:9092:kafka服務監聽地址和端口
  • log.dirs:日志存儲目錄
  • zookeeper.connect:指定zookeeper服務地址

可根據自己需求修改對應的配置!

3.3、啟動 kafka 服務

  1. # 進入bin腳本目錄 
  2. cd  kafka-2.8.0-src/bin 

啟動 kafka 服務

  1. nohup kafka-server-start.sh ../config/server.properties server.log 2> server.err & 

3.4、創建主題topics

創建一個名為testTopic的主題,它只包含一個分區,只有一個副本:

  1. # 進入bin腳本目錄 
  2. cd  kafka-2.8.0-src/bin 
  3.  
  4. #創建topics 
  5. kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic 

運行list topic命令,可以看到該主題。

  1. # 進入bin腳本目錄 
  2. cd  kafka-2.8.0-src/bin 
  3.  
  4. #查詢當前kafka上所有的主題 
  5. kafka-topics.sh --list --zookeeper localhost:2181 

輸出內容:

  1. testTopic 

3.5、發送消息

Kafka 附帶一個命令行客戶端,它將從文件或標準輸入中獲取輸入,并將其作為消息發送到 Kafka 集群。默認情況下,每行將作為單獨的消息發送。

運行生產者,然后在控制臺中鍵入一些消息以發送到服務器。

  1. # 進入bin腳本目錄 
  2. cd  kafka-2.8.0-src/bin 
  3.  
  4. #運行一個生產者,向testTopic主題中發消息 
  5. kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic 

輸入兩條內容并回車:

  1. Hello kafka! 
  2.  
  3. This is a message 

3.5、接受消息

Kafka 還有一個命令行使用者,它會將消息轉儲到標準輸出。

  1. # 進入bin腳本目錄 
  2. cd  kafka-2.8.0-src/bin 
  3.  
  4. #運行一個消費者,從testTopic主題中拉取消息 
  5. kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning 

輸出結果如下:

  1. Hello kafka! 
  2. This is a message 

四、小結

本文主要圍繞 kafka 的架構模型和安裝環境做了一些初步的介紹,難免會有理解不對的地方,歡迎網友批評、吐槽。

由于篇幅原因,會在下期文章中詳細介紹 java 環境下 kafka 應用場景!

五、參考

1、知乎 - Java團長 - 再過半小時,你就能明白kafka的工作原理了

 

責任編輯:武曉燕 來源: Java極客技術
相關推薦

2024-10-30 10:06:51

2021-04-09 08:54:14

Kafka源碼架構開發技術

2024-08-23 16:04:45

2021-06-09 10:29:23

Kafka架構組件

2021-02-05 15:01:41

GitLinux命令

2024-12-05 10:42:51

網絡架構NAT

2017-12-26 17:42:12

前端WebGLThree.js

2023-09-27 12:22:50

Kafka架構

2019-09-20 08:54:38

KafkaBroker消息

2017-05-08 11:41:37

WebGLThree.js

2023-02-22 08:12:30

KafkaSender 線程

2018-07-26 15:18:41

阿里JavaKafka架構

2022-06-07 08:01:11

Kafka網絡架構

2022-03-29 15:10:22

架構設計模型

2011-05-24 10:19:39

VMware快照

2010-03-19 14:57:52

三層交換機

2011-12-20 15:52:03

PhoneGap架構基礎工作原理

2025-08-04 02:55:00

AIAgent架構

2022-09-23 08:02:42

Kafka消息緩存

2018-08-20 08:30:05

Kafka架構系統
點贊
收藏

51CTO技術棧公眾號

www在线观看播放免费视频日本| 国产人与禽zoz0性伦| av毛片在线看| 国产suv精品一区二区6| 久久久久久伊人| 丰满少妇xbxb毛片日本| 伊人网在线播放| 中文字幕高清一区| 日韩美女写真福利在线观看| 亚洲精品午夜视频| 88xx成人精品| 在线观看免费黄色网址| 欧美大片91| 岛国精品视频在线播放| 五月天久久综合网| 精品人妻午夜一区二区三区四区 | 欧美日韩理论| 亚洲男人第一av网站| 欧美精品久久久久久久久25p| а√天堂在线官网| 久久无码av三级| 国产欧美精品日韩| 国产精品111| 国产日产精品一区二区三区四区的观看方式 | 国产裸体歌舞团一区二区| 97国产真实伦对白精彩视频8| 受虐m奴xxx在线观看| 豆花视频一区| 欧美午夜激情在线| 综合久久国产| 男男激情在线| 成人免费毛片片v| 国产精品免费福利| 国产一级淫片a| 婷婷综合视频| 亚洲欧洲第一视频| 日本中文字幕二区| 一区二区三区四区日本视频| 国产精品福利一区| 免费电影一区| 性一交一乱一色一视频麻豆| 国产精品亚洲欧美| 蜜臀久久99精品久久久无需会员 | 久久精品第一页| 欧美亚洲在线日韩| 亚洲国内精品视频| 三级黄色片播放| h1515四虎成人| 色综合视频一区二区三区高清| 国产精品igao激情视频| 日本在线免费| 国产亚洲精品aa| 激情伦成人综合小说| 中文字幕在线观看第二页| 性欧美长视频| 欧美精品一区二区三区国产精品| 色欲狠狠躁天天躁无码中文字幕| 色先锋久久影院av| 欧美精品一区二区久久婷婷| 下面一进一出好爽视频| 日韩黄色碟片| 在线观看91精品国产入口| 欧美 日韩 国产精品| 18videosex性欧美麻豆| 亚洲精品一二三| 艳母动漫在线观看| 国产三区在线观看| 成人免费小视频| 一本久久a久久精品vr综合 | 能直接看的av| 欧美美女一区| 国产亚洲精品久久久久久| 成人乱码一区二区三区av| 免费电影一区二区三区| 亚洲男人天堂2023| 中文字幕免费视频| 成人免费看片39| 少妇激情综合网| 黄色精品视频在线观看| 国产精品国内免费一区二区三区| 中文字幕在线视频日韩| 中文乱码字幕高清一区二区| 99久久婷婷这里只有精品| 久久精品91久久香蕉加勒比 | 黄色不卡一区| 中文字幕在线观看亚洲| 亚洲色图综合区| 欧美aa国产视频| 久久久久久国产精品三级玉女聊斋| 久久久久久免费观看| 亚洲午夜在线| 欧美又大又硬又粗bbbbb| av大片在线免费观看| 老牛嫩草一区二区三区日本| 国产精品国模在线| 影音先锋国产资源| 国产一区二区在线观看视频| 国产高清不卡av| 色综合888| 久久久不卡网国产精品一区| 做爰高潮hd色即是空| 欧美一卡二卡| 91久久精品一区二区三区| 中文字幕22页| 亚洲一区电影| 国产亚洲精品一区二555| 长河落日免费高清观看| 好看的av在线不卡观看| 国产99视频精品免视看7| 日日骚av一区二区| 狠狠色综合播放一区二区| av成人观看| 久久米奇亚洲| 亚洲欧美另类在线| 亚洲欧洲日产国码无码久久99 | 天天射天天综合网| 97香蕉超级碰碰久久免费的优势| 中文字幕欧美人妻精品一区蜜臀| 国产精品91一区二区| 欧美精品一区在线| 超碰公开在线| 色欧美日韩亚洲| 色一情一区二区三区| 欧美国产极品| 欧美成人精品一区| 中文字幕在线观看视频免费| 国产suv精品一区二区6| 五月天久久综合网| 桃色av一区二区| 69堂精品视频| 久久美女免费视频| 最新精品国产| 国产精品久久久久久久久| 夜夜躁日日躁狠狠久久av| 丁香婷婷深情五月亚洲| 2025韩国大尺度电影| 欧洲成人一区| 日韩av中文字幕在线免费观看| 日本精品在线免费观看| 久久久成人网| 久久精品aaaaaa毛片| 黑人精品视频| 欧美一区二区在线播放| 成人在线观看免费高清| 国产一区二区三区久久久久久久久 | 色综合欧美在线视频区| 国产成人av片| 欧美在线首页| 超碰97在线人人| 福利在线导航136| 欧美mv日韩mv国产| 日韩免费观看一区二区| 91在线视频免费91| 久久精品.com| 黄色不卡一区| 国产这里只有精品| 免费在线观看黄色网| 欧美丰满少妇xxxbbb| 国产精品嫩草影院俄罗斯| 国产又黄又大久久| 成人在线观看毛片| 国产96在线亚洲| 91精品国产乱码久久久久久蜜臀 | 成人毛片100部免费看| 人人爱人人干婷婷丁香亚洲| 欧美国产日本在线| 欧美一级性视频| 日韩欧美国产黄色| 国产欧美小视频| 国产在线精品免费av| 毛片av在线播放| 蜜桃久久久久| 国产精品成人国产乱一区| 欧美一区二区三区在线观看免费| 日韩欧美亚洲一区二区| 日韩久久精品视频| 中文字幕成人在线观看| 美女被艹视频网站| 香蕉av777xxx色综合一区| 午夜一区二区三区| 亚洲av无码乱码国产精品fc2| 91色.com| 欧美午夜aaaaaa免费视频| 亚洲中无吗在线| 精品日本一区二区三区| 78精品国产综合久久香蕉| 欧美xxxx18性欧美| 欧美日韩视频精品二区| 欧美久久久久久蜜桃| 久久久无码精品亚洲国产| 91啪亚洲精品| 国产成人av免费观看| 久久久久一区| 欧美中文字幕在线观看视频| 国产精品视频一区二区三区四蜜臂| 成人a免费视频| 麻豆理论在线观看| 成人444kkkk在线观看| 黄色电影免费在线看| 精品捆绑美女sm三区| 91麻豆精品在线| 亚洲二区在线视频| 国产精品成人69xxx免费视频| 97国产精品videossex| 伊人五月天婷婷| 日韩精品国产精品| 欧美日韩不卡在线视频| 日韩久久视频| 欧美一区二区在线| 成人在线超碰| 成人午夜在线影院| 亚洲1234区| 91精品国产91久久久久久久久| 麻豆电影在线播放| 国产亚洲欧美日韩一区二区| 欧美视频在线观看一区二区三区| 欧美精品成人一区二区三区四区| 亚洲s码欧洲m码国产av| 亚洲一级在线观看| 可以直接看的黄色网址| 国产精品久久久久久久久搜平片 | 国产精品看片你懂得| 国产肉体xxxx裸体784大胆| 国产美女视频91| 日韩在线不卡一区| 免费视频一区二区| 最近免费中文字幕中文高清百度| 99国产精品久久久久久久成人热 | av免费播放网站| av亚洲精华国产精华精| www.黄色网| 丰满放荡岳乱妇91ww| 97免费公开视频| 国产乱妇无码大片在线观看| 欧美性受xxxxxx黑人xyx性爽| 蜜臀久久久久久久| wwwwxxxx日韩| 日本欧美大码aⅴ在线播放| 漂亮人妻被中出中文字幕| 一区二区三区福利| 男人添女人下面高潮视频| 亚洲国内自拍| 日本十八禁视频无遮挡| 影音先锋亚洲电影| 僵尸世界大战2 在线播放| 亚洲国产精品第一区二区三区| 日韩成人三级视频| 亚洲无线视频| 自慰无码一区二区三区| 国产亚洲毛片在线| 国产裸体舞一区二区三区| 天堂va蜜桃一区二区三区漫画版| 久草在在线视频| 美女任你摸久久| 99精品视频国产| 国产福利一区二区| 丰满岳乱妇一区二区| 99r精品视频| a毛片毛片av永久免费| 亚洲国产经典视频| 夫妻性生活毛片| 亚洲一二三四久久| 毛片基地在线观看| 色噜噜偷拍精品综合在线| 一本色道久久综合亚洲| 日韩一区二区三区免费看| 欧美 日韩 国产 精品| 亚洲欧洲国产精品| 免费在线看a| 久久久久国产精品一区| 亚洲最大网站| 成人福利在线视频| 成午夜精品一区二区三区软件| 国产在线精品一区二区中文 | 成人亚洲一区二区一| 欧美一级片黄色| 国产三级一区二区| 深夜福利影院在线观看| 精品久久久一区二区| 中国老头性行为xxxx| 日韩一级精品视频在线观看| 亚洲人成色777777精品音频| 最近2019免费中文字幕视频三| 亚洲丝袜一区| 国产精品jvid在线观看蜜臀 | 91精品福利在线一区二区三区| 免费看国产片在线观看| 国产一区二区欧美日韩| 在线网址91| 国产精品美女久久| 综合久久成人| 亚洲7777| 日韩一级免费| www.久久久久久久久久久| 99国产欧美另类久久久精品| 老司机成人免费视频| 一本大道av一区二区在线播放| 精品人妻一区二区三区三区四区| 亚洲美女黄色片| 欧美aaaaaaa| 国产欧美日韩精品专区| 国产成人福利av| 中文字幕日韩一区二区三区不卡 | 浅井舞香一区二区| 亚洲乱码一区| 亚洲一区二区三区午夜| 老鸭窝91久久精品色噜噜导演| 国产黑丝在线视频| 欧美国产日韩在线观看| 91在线看视频| 欧美成va人片在线观看| 麻豆影视在线观看_| 欧美最猛性xxxxx亚洲精品| 亚洲**毛片| 中文有码久久| 免费久久精品视频| 美女洗澡无遮挡| 亚洲成a人片在线不卡一二三区| 一级黄色短视频| 一本色道久久88精品综合| 日韩欧美一中文字暮专区| av成人在线电影| 欧美另类综合| 人妻体体内射精一区二区| 国产精品女同一区二区三区| 欧美一级淫片免费视频黄| 日韩精品在线电影| 都市激情国产精品| 国产91aaa| 欧美久色视频| 国产精品成人免费一区久久羞羞| 亚洲男同1069视频| 一级全黄少妇性色生活片| 在线观看日韩专区| 日韩欧美少妇| 色女人综合av| 日韩电影在线一区二区三区| 亚洲一区二区三区蜜桃| 日韩欧美在线看| 黄色片在线免费观看| 日韩av男人的天堂| 欧美猛男男男激情videos| 欧美成人免费高清视频| 久久精品一区二区三区不卡牛牛| 久久青青草视频| 亚洲人成电影网站色www| 欧美三级网址| 三区精品视频观看| 日本91福利区| 国产激情无码一区二区三区| 欧美精选一区二区| h片在线免费观看| 成人在线免费观看一区| 99亚洲一区二区| 中文字幕av网址| 欧美影视一区在线| 欧美69xxxx| 97夜夜澡人人双人人人喊| 亚洲国产日韩欧美一区二区三区| 日韩精品一区二区三区高清免费| 精品久久久久久国产| 男女av在线| 成人免费淫片视频软件| 欧美国产精品| 中文字幕 亚洲一区| 在线观看免费视频综合| 午夜免费福利在线观看| 97视频热人人精品| 亚洲女同在线| av免费播放网站| 欧美mv和日韩mv国产网站| 综合另类专区| 亚洲午夜精品一区二区三区| 国产精品一区一区三区| 久久不卡免费视频| 综合136福利视频在线| 涩爱av色老久久精品偷偷鲁| 成人av一级片| 国产精品剧情在线亚洲| 亚洲国产精彩视频| 国产91在线播放精品91| 你懂的一区二区| 蜜桃精品一区二区| 欧美精品在线一区二区| av中文字幕电影在线看| 日韩国产在线一区| 国产成人在线影院| 中文字幕 国产精品| 免费av在线一区| 精品国产乱码久久久| 国内自拍偷拍视频| 欧美性色综合网| 91精品国产黑色瑜伽裤| 亚洲在线播放电影| 92国产精品观看| 国产丝袜视频在线观看| 日本欧美黄网站| 激情六月综合| 一区二区三区在线播放视频| 亚洲精品美女在线观看|