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

Kafka生產環境實戰經驗深度總結,讓你少走彎路

云計算 Kafka
本文結合本人在多個生產項目中使用 Kafka 的經驗,圍繞以下幾個方面展開:消息丟失防范、重復消費控制、性能瓶頸優化、集群運維策略,以及 Topic、分區、副本機制的設計要點。

1.背景

在實際項目中接入 Kafka 已經成為高并發系統的標配。然而,從簡單的“能跑”到“穩定高效地跑”,中間有太多坑值得記錄和總結。本文結合本人在多個生產項目中使用 Kafka 的經驗,圍繞以下幾個方面展開:消息丟失防范、重復消費控制、性能瓶頸優化、集群運維策略,以及 Topic、分區、副本機制的設計要點。先來看看kafka的基礎架構圖,有個整體認識:

圖片圖片

接下我們我們就從生產者、服務端broker、服務端去講述下實戰經驗心得。

2.生產者如何提高吞吐量?

下面來看看生產者發送一條消息到kafka服務端的流程:

圖片圖片

在消息發送的過程中,涉及到了兩個線程——main 線程和 Sender 線程。在 main 線程中創建了一個雙端隊列RecordAccumulator。main 線程將消息發送給 RecordAccumulator,Sender 線程不斷從 RecordAccumulator 中拉取消息發送到 Kafka服務端 Broker

可以適當調整以下四個生產者的參數來提高吞吐量:

參數

說明

batch.size

提交一批數據到緩沖區的最大值,默認 16k。適當增加該值,可以提高吞吐量,但是如果該值設置太大,會導致數據傳輸延遲增加。

linger.ms

如果數據遲遲未達到 batch.size,sender 等待 linger.time之后就會發送數據。單位 ms,默認值是 0ms,表示沒有延遲。生產環境建議該值大小為 5-100ms 之間

buffer.memory

RecordAccumulator 緩沖區總大小,默認 32m。可以適當增加該值提高緩沖區的存儲能力

compression.type

生產者發送的所有數據的壓縮方式。默認是 none,也就是不壓縮。支持壓縮類型:none、gzip、snappy、lz4 和 zstd。

這些參數的應用思想都很好理解,就好比我們現實生活中集散中心大巴車拉人,一次拉一個,有人就走。這種方式效率低下,浪費資源。所以一般都是車到了多等一下,等人數差不多才走,這就是參數batch.size和linger.ms的提醒,buffer.memory其實也好理解,就好比車送到目的地只能容納100個人,你使勁送過去,收不下,只能目的把這個100個人安頓好,才能接著送,所以適當調大,可以增加吞吐量,至于壓縮compression.type就是讓一次可以拉更多的人,就好比讓小孩子和大人用一個座位。

3.如何保證消息不丟失?

消息丟失可能發生在生產者發送消息、broker保存消息、消費者消費消息等環節。

3.1 生產者丟失消息

生產者丟失消息是比較常見的場景,生產者發送消息到kafka,因為網絡抖動最后發現kakfa沒保存,這鍋該誰背?答案是生產者,因為 Kafka Producer 是異步發送消息的,也就是說如果你調用的是 producer.send(msg) 這個 API,那么它通常會立即返回,但此時你不能認為消息發送已成功完成。解決辦法也很簡單:**Producer 永遠要使用帶有回調通知的發送 API,也就是說不要使用 producer.send(msg),而要使用 producer.send(msg, callback)**,通過回調callback才能真正知道消息是否成功發送

設置重試 retries 。這里的 retries 同樣是 Producer 的參數,對應前面提到的 Producer 自動重試。當出現網絡的瞬時抖動時,消息發送可能會失敗,此時配置了 retries > 0 的 Producer 能夠自動重試消息發送,避免消息丟失。

3.2 broker丟失消息

設置 acks = all。acks 是 Producer 的一個參數,代表了你對“已提交”消息的定義。如果設置成 all,表示生產者發送過來的數據,Leader和ISR隊列里面的所有節點收到數據后才應答。

參數

說明

acks

0:生產者發送過來的數據,不需要等數據落盤應答。
1:生產者發送過來的數據,Leader 收到數據后應答。
-1(all):生產者發送過來的數據,Leader+和 isr 隊列里面的所有節點收到數據后應答。默認值是-1,-1 和all 是等價的。

設置 unclean.leader.election.enable = false。這是 Broker 端的參數,它控制的是哪些 Broker 有資格競選分區的 Leader。如果一個 Broker 落后原先的 Leader 太多,那么它一旦成為新的 Leader,必然會造成消息的丟失。故一般都要將該參數設置成 false,即不允許這種情況的發生。

設置 replication.factor >= 3。這也是 Broker 端的參數。其實這里想表述的是,最好將消息多保存幾份,畢竟目前防止消息丟失的主要機制就是冗余。

設置 min.insync.replicas > 1。這依然是 Broker 端參數,控制的是消息至少要被寫入到多少個副本才算是“已提交”。設置成大于 1 可以提升消息持久性。在實際環境中千萬不要使用默認值 1。

確保 replication.factor > min.insync.replicas。如果兩者相等,那么只要有一個副本掛機,整個分區就無法正常工作了。我們不僅要改善消息的持久性,防止數據丟失,還要在不降低可用性的基礎上完成。推薦設置成 replication.factor = min.insync.replicas + 1

3.3 消費者丟失消息

Consumer 程序有個“位移”的概念,表示的是這個 Consumer 當前消費到的 Topic 分區的位置。如果我們一次消費offset為0-9的10條消息,拉取到消息之后就自動提交了位移,但是消費到位移5的時候報錯了,那么位移5-9的消息就被丟失了。

解決辦法也很簡單就是確保消息消費完成再提交。Consumer 端有個參數 enable.auto.commit,最好把它設置成 false關閉自動提交,并采用手動提交位移的方式。如果啟用了自動提交,Consumer 端還有個參數就派上用場了:auto.commit.interval.ms。它的默認值是 5 秒,表明 Kafka 每 5 秒會為你自動提交一次位移。

手動提交位移是保證消費者消息消息過程中不丟失消息的核心所在,手動提交分為同步和異步,同步提交會使消費者處于阻塞狀態,直到遠端的 Broker 返回提交結果。而異步提交它會立即返回,不會阻塞,因此不會影響 Consumer 應用的 TPS。但是異步條件有一個缺點就是發生了異常我們無法立刻感知到并相應邏輯處理,所以代碼里面的提交位移邏輯一般是:同步+異步

try {
        while (true) {
            ConsumerRecords<String, String> records = kafkaConsumer.poll(Duration.ofSeconds(1));
            process(records); // 處理消息
            kafkaConsumer.commitAsync(); // 使用異步提交規避阻塞
        }
    } catch (Exception e) {
        handle(e); // 處理異常
    } finally {
        try {
            kafkaConsumer.commitSync(); // 最后一次提交使用同步阻塞式提交
        } finally {
            kafkaConsumer.close();
        }
    }

這段代碼同時使用了 commitSync() 和 commitAsync()。對于常規性、階段性的手動提交,我們調用 commitAsync() 避免程序阻塞,而在 Consumer 要關閉前,我們調用 commitSync() 方法執行同步阻塞式的位移提交,以確保 Consumer 關閉前能夠保存正確的位移數據。將兩者結合后,我們既實現了異步無阻塞式的位移管理,也確保了 Consumer 位移的正確性,所以,如果你需要自行編寫代碼開發一套 Kafka Consumer 應用,那么我推薦你使用上面的代碼范例來實現手動的位移提交。

關于提交位移有一個可能發生的異常:CommitFailedException,顧名思義就是 Consumer 客戶端在提交位移時出現了錯誤或異常,而且還是那種不可恢復的嚴重異常。這是因為在拉取到消息消費完之后提交位移這期間,消費者組發生了重平衡。關于什么是重平衡可以看后續總結講述。

4.如何保證消息不會重復消費?

在生產者端可能由于開啟了重試機制導致同一條消息被發送了兩次,這時候可以讓生產者開啟冪等性配置參數:enable.idempotence 默認為true, 即開啟的。

消費者端就是要保證實際消費消息的位移和提交的位移一致,使用手工同步位移。當然我們也可以在消費消息的代碼邏輯保證消費的冪等性:使用唯一索引或者分布式鎖都行

5.如何解決消息積壓問題

消息積壓會導致很多問題,?如磁盤被打滿、?產端發消息導致kafka性能過慢,最后導致出現服務雪崩不可用,解決方案如下:

  • 如果是Kafka消費能力不足,則可以考慮增加Topic的分區數,并且同時提升消費組的消費者數量,消費者數 = 分區數。因為主題的一個分區只能被消費者組中一個消費者消費,假如我們消費者組里有3個消費者,但是主題就一個分區,這就白白空著兩個消費者無所事事。如果已經是多個消費者對應多個分區了,還是消費比較慢,就說明是消息消息的代碼邏輯過重處理過慢,可以引入多線程異步操作,但這時候需要自己控制代碼邏輯來保證消費的順序性,因為一個分區內的消息是有序的,被一個消費者順序消費,但是當消費者開啟多線程處理之后就不能保證順序消費了。
  • 如果是下游的數據處理不及時:提高每批次拉取的數量。批次拉取數據過少(拉取數據/處理時間 < 生產速度),使處理的數據小于生產的數據,也會造成數據積壓。比如說可以從一次最多拉取500條,調整為一次最多拉取1000條。簡單來說就是在消費能力跟得上的同時,盡量保證消費速度>生產速度,這樣就不會堆積了。

6.如何保證消息的有序性。

生產者:在發送時將ack不能設置0,關閉重試,使?同步發送,等到發送成功再發送下?條。確保消息是順序發送的。

消費者:消息是發送到?個分區中,只能有?個消費組的消費者來接收消息。

因此,kafka的順序消費會犧牲掉性能。

7.什么是重平衡?

Rebalance 就是讓一個 Consumer Group 下所有的 Consumer 實例就如何消費訂閱主題的所有分區達成共識的過程。在 Rebalance 過程中,所有 Consumer 實例共同參與,在協調者組件的幫助下,完成訂閱主題分區的分配。但是,在整個過程中,所有實例都不能消費任何消息,因此它對 Consumer 的 TPS 影響很大。重平衡觸發的場景:

  • 消費者組訂閱的主題的分區數增加了,注意主題分區數只能增加,不能減少
  • 消費者組訂閱的主題數有變化,可能變多了也可能變少了。
  • 消費者組成員有變化,可能變多了也可能變少了。

前兩個訂閱的分區數增加還是主題數變化,都是一個主動發起Rebalance,我們是能提前感知到的。Consumer 實例增加的情況很好理解,當我們啟動一個配置有相同 group.id 值的 Consumer 程序時,實際上就向這個 Group 添加了一個新的 Consumer 實例。此時,Coordinator 會接納這個新實例,將其加入到組中,并重新分配分區。通常來說,增加 Consumer 實例的操作都是計劃內的,可能是出于增加 TPS 或提高伸縮性的需要。但是對于Consumer 實例減少,大部分不是人為操作下線的,更多情況是Consumer 實例會被 Coordinator 錯誤地認為“已停止”從而被“踢出”Group。如果是這個原因導致的 Rebalance,這種情況就得引起我們重視了。

Coordinator 會在什么情況下認為某個 Consumer 實例已掛從而要退組呢?

當 Consumer Group 完成 Rebalance 之后,每個 Consumer 實例都會定期地向 Coordinator 發送心跳請求,表明它還存活著。如果某個 Consumer 實例不能及時地發送這些心跳請求,Coordinator 就會認為該 Consumer 已經“死”了,從而將其從 Group 中移除,然后開啟新一輪 Rebalance。Consumer 端有個參數,叫 session.timeout.ms,就是被用來表征此事的。該參數的默認值是 145秒,即如果 Coordinator 在 45 秒之內沒有收到 Group 下某 Consumer 實例的心跳,它就會認為這個 Consumer 實例已經掛了。可以這么說,session.timout.ms 決定了 Consumer 存活性的時間間隔。

Consumer 端還有一個參數,用于控制 Consumer 實際消費能力對 Rebalance 的影響,即 max.poll.interval.ms 參數。它限定了 Consumer 端應用程序兩次調用 poll 方法的最大時間間隔。它的默認值是 5 分鐘,表示你的 Consumer 程序如果在 5 分鐘之內無法消費完 poll 方法返回的消息,那么 Consumer 會主動發起“離開組”的請求,Coordinator 也會開啟新一輪 Rebalance。

8.kafka作為消息隊列為什么發送和消費消息這么快?

  • 消息分區:不受單臺服務器的限制,可以不受限的處理更多的數據
  • 順序讀寫:磁盤順序讀寫,提升讀寫效率
  • 頁緩存:把磁盤中的數據緩存到內存中,把對磁盤的訪問變為對內存的訪問
  • 零拷貝:減少上下文切換及數據拷貝
  • 消息壓縮:減少磁盤IO和網絡IO
  • 分批發送:將消息打包批量發送,減少網絡開銷
責任編輯:武曉燕 來源: Shepherd進階筆記
相關推薦

2011-04-29 10:31:36

數據中心虛擬化

2016-09-30 15:55:54

DataMining大數據時代

2010-03-22 11:57:23

云計算

2010-06-13 10:50:05

職場辛酸教訓

2009-02-02 13:54:49

忠告成長涉世之初

2009-05-08 09:23:52

網管故障病毒

2020-05-08 15:06:58

數據科學模型深度學習

2022-01-04 08:21:50

經驗職場工作

2018-05-29 22:24:22

程序員開發學習

2017-01-05 16:29:00

2018-07-04 13:53:08

2019-11-13 10:16:14

大數據架構數據科學

2011-07-07 10:49:41

JavaScript

2025-05-30 08:09:28

2015-07-02 10:50:55

SDN

2024-11-27 08:28:37

2019-05-06 13:42:13

大數據分布式架構

2013-10-23 13:33:29

微軟Surface庫克

2010-09-14 10:55:14

DIV CSS網頁制作
點贊
收藏

51CTO技術棧公眾號

日韩在线观看| av美女在线观看| 精品一区二区三区在线播放视频| 久久精品男人天堂| 亚洲成av人片在线观看无| 中国字幕a在线看韩国电影| 欧美激情资源网| 亚洲综合精品伊人久久| 男人的天堂一区二区| 欧美日韩在线二区| 精品日产卡一卡二卡麻豆| 精品免费国产一区二区| 黄色片网站在线| jizz一区二区| 成人免费视频在线观看超级碰| 久久久久久久久久久久久久免费看 | 亚洲综合一区二区精品导航| 久久精品aaaaaa毛片| 91福利在线观看视频| 最新国产乱人伦偷精品免费网站| 国产一区二区三区欧美| 国产成人精品一区二区三区在线观看 | 人人精品亚洲| 欧美一区二区三区在线| 欧美日韩一区二区在线免费观看| 四季久久免费一区二区三区四区| 久久精品视频免费| 国产高清精品一区二区| 亚洲一区二区人妻| 蘑菇福利视频一区播放| 久久97精品久久久久久久不卡| 51妺嘿嘿午夜福利| 西野翔中文久久精品字幕| 91精品国产色综合久久| 精品久久久久久中文字幕2017| 超碰97免费在线| 亚洲日穴在线视频| 婷婷四房综合激情五月| 水莓100国产免费av在线播放| 国产一区二三区| 国产精品大陆在线观看| 国产又黄又粗又爽| 亚洲无线一线二线三线区别av| 久久九九全国免费精品观看| 中文字幕免费在线看线人动作大片| 欧美电影在线观看免费| 欧美岛国在线观看| 国产毛片久久久久久| 激情欧美一区二区三区黑长吊| 色综合网色综合| 99精品人妻少妇一区二区| 欧美黑人猛交的在线视频| 中文字幕视频一区二区三区久| 日本免费一区二区三区| 日韩a级作爱片一二三区免费观看| 成人一级片在线观看| 亚洲free性xxxx护士白浆| 国产尤物视频在线观看| 国内精品不卡在线| 成人网址在线观看| 国产农村妇女毛片精品久久| 激情都市一区二区| 91手机视频在线观看| 国产深喉视频一区二区| 国产美女精品人人做人人爽| 成人精品视频99在线观看免费 | 日韩电影免费观| 日韩欧美高清视频| 久久久久久久激情| 精品欧美一区二区三区在线观看 | 91黄色在线观看| 中文字幕永久视频| 欧美亚洲黄色| 日韩一级二级三级| 88av在线播放| 国产一区毛片| 日韩视频在线免费观看| 欧美视频www| 国产精品v日韩精品v欧美精品网站 | 自拍偷自拍亚洲精品被多人伦好爽| 日韩欧美在线中文字幕| 妓院一钑片免看黄大片| 亚洲人体在线| 精品91自产拍在线观看一区| 亚洲av片不卡无码久久| 欧美日韩有码| 欧美国产中文字幕| 日韩美女视频网站| 秋霞午夜av一区二区三区| 成人欧美一区二区三区黑人| 免费a级片在线观看| wwww国产精品欧美| 一区二区三区视频| xxxx视频在线| 欧美日韩国产一级| 性欧美18—19sex性高清| 国产成人调教视频在线观看 | 精品久久久久av影院| 欧美特黄一区二区三区| 亚洲高清资源在线观看| 国内自拍欧美激情| 亚洲性在线观看| 97精品久久久午夜一区二区三区 | 好了av在线| 香蕉成人啪国产精品视频综合网 | 日韩精品久久久久久免费| 另类综合日韩欧美亚洲| 国产在线精品二区| 黄色大片在线播放| 欧美自拍丝袜亚洲| 国产大学生视频| 99久久这里只有精品| 欧美性在线观看| 国产叼嘿视频在线观看| 久久蜜臀中文字幕| 国产精品www在线观看| 久久免费资源| 亚洲欧美日韩天堂一区二区| 青青草原免费观看| 麻豆精品精品国产自在97香蕉| 国产欧美一区二区视频| www久久日com| 欧美色图12p| 中文字幕在线免费看线人 | 日韩av资源在线| 亚洲精品影片| 久久精品久久久久久| 日韩综合在线观看| 99久久久久免费精品国产 | 日韩在线观看视频一区二区| 美女爽到呻吟久久久久| 国产综合动作在线观看| 在线看福利影| 欧美一区二区三区在线视频| 人成免费在线视频| 日韩国产精品久久久| 制服丝袜av成人在线看| 欧美二区三区在线| 黄视频免费在线看| 精品成人佐山爱一区二区| 婷婷在线精品视频| 久久精品国内一区二区三区| 日韩av电影免费在线| 性感女国产在线| 亚洲国产精品va在线看黑人| 粉嫩av性色av蜜臀av网站| 麻豆传媒一区二区三区| 亚洲精美视频| 日韩欧美2区| 综合av色偷偷网| 亚洲一区二区天堂| 中文字幕一区二区三区四区不卡 | 国产一区二区三区在线视频| 日韩黄色在线播放| 久久久一区二区三区捆绑**| 久久久噜噜噜www成人网| 亚洲女娇小黑人粗硬| 欧美最近摘花xxxx摘花| 欧洲亚洲精品视频| 日韩欧美在线视频日韩欧美在线视频 | 三级精品视频| 5278欧美一区二区三区| 日韩a在线观看| 欧美在线|欧美| 秋霞网一区二区三区| 激情文学综合插| 日本天堂免费a| 国产精品sss在线观看av| 91爱爱小视频k| 黄色网址在线播放| 欧美偷拍一区二区| 国产视频久久网| 岛国毛片在线观看| 成人免费的视频| 国产三区在线视频| 操欧美老女人| 亚洲在线www| 大菠萝精品导航| 亚洲网址你懂得| 97精品人妻一区二区三区香蕉| 亚洲三级免费观看| 国产精品扒开腿做爽爽爽a片唱戏| 香蕉精品999视频一区二区 | 91精品国产乱码久久久久久| 99久久精品无码一区二区毛片| 丁香影院在线| 亚洲图片制服诱惑| www.av网站| 日韩欧美一区二区三区久久| 少妇视频在线播放| 丁香一区二区三区| 成年网站在线免费观看| 亚洲va在线| 久99久视频| 天天综合在线观看| 97在线视频免费| 男人天堂手机在线| 亚洲精品国产综合区久久久久久久| 免费一级a毛片| 一区二区三区中文字幕电影 | 国产精品成人一区二区三区夜夜夜| 日韩欧美中文视频| 香蕉久久夜色精品国产| 青青草影院在线观看| 秋霞蜜臀av久久电影网免费| 成人高h视频在线| 二区三区不卡| 欧美激情亚洲另类| 浪潮av一区| 亚洲视频专区在线| 婷婷在线免费视频| 欧美疯狂做受xxxx富婆| 国产中文字幕视频| 亚洲高清久久久| 538任你躁在线精品视频网站| 久久亚区不卡日本| 中文字幕久久久久久久| 蜜桃精品在线观看| 欧美成人xxxxx| 亚洲五月婷婷| 青青草原网站在线观看| 黑人操亚洲人| 国产呦系列欧美呦日韩呦| 久久久久久久久久久久电影| 国产伦精品一区二区三区精品视频| 人人草在线视频| 久久乐国产精品| 福利在线视频网站| 色综久久综合桃花网| 黄色片在线免费看| 亚洲免费伊人电影在线观看av| 亚洲黄色在线观看视频| 91精品国产91久久综合桃花| 在线视频播放大全| 在线看国产一区二区| 免费观看一区二区三区毛片| 亚洲一卡二卡三卡四卡无卡久久| 亚洲综合网在线| 亚洲精选一二三| 放荡的美妇在线播放| 亚洲视频 欧洲视频| 可以免费看av的网址| 国产精品女上位| 久久精品三级视频| 久久精品夜色噜噜亚洲aⅴ| v8888av| 久久婷婷色综合| 亚洲综合色一区| 久久久精品综合| 日韩中文字幕有码| 国产日韩欧美综合在线| 69视频在线观看免费| 国产免费久久精品| 欧洲性xxxx| 亚洲天堂av一区| 欧美精品久久久久久久久46p| 18欧美亚洲精品| 国产精品白嫩白嫩大学美女| 有坂深雪av一区二区精品| 青娱乐91视频| 午夜影院久久久| 在线观看日韩中文字幕| 欧洲日韩一区二区三区| 中文字幕精品在线观看| 欧美久久久久久久久| 国产99视频在线| 日韩成人xxxx| 激情小视频在线观看| 中文字幕精品一区久久久久| 午夜视频在线观看网站| 久久99国产精品久久久久久久久| 888av在线视频| 国产91在线高潮白浆在线观看| 日韩在线影院| 91欧美视频网站| 极品一区美女高清| 日本不卡一二三区| 天天射天天综合网| 日本精品久久久久久久久久| 欧美一级视频| 欧美成人乱码一二三四区免费| 国产乱子轮精品视频| 亚洲精品在线视频免费观看| 久久精品网站免费观看| 午夜国产福利一区二区| 亚洲国产aⅴ天堂久久| 国产字幕在线观看| 欧美一区二区三区婷婷月色| 五月婷婷在线播放| 色阁综合伊人av| 日韩伦理精品| 成人有码在线播放| 亚洲免费福利一区| 50度灰在线观看| 日韩国产欧美三级| www.四虎精品| 国产精品入口麻豆九色| 动漫精品一区一码二码三码四码| 色美美综合视频| 亚洲AV无码成人片在线观看| 亚洲免费av网址| 毛片在线导航| 国产欧美在线视频| 欧美综合精品| 日韩在线视频在线| 美女任你摸久久 | 国产福利第一页| 日韩精品视频在线| 18在线观看的| 国产精品欧美亚洲777777| 懂色av一区二区| 中文字幕日韩精品一区二区| 性久久久久久| 国内精品免费视频| 自拍偷拍欧美精品| 台湾佬中文在线| 亚洲成人激情在线| 黄色的网站在线观看| 国产精品青草久久久久福利99| 国产一区福利| www插插插无码免费视频网站| 美女视频一区二区| 国产毛片久久久久久久| 亚洲成人福利片| 精品久久久免费视频| 色偷偷噜噜噜亚洲男人| 中文字幕在线直播| 韩日午夜在线资源一区二区| 中文乱码免费一区二区三区下载| 怡红院亚洲色图| 国产欧美日韩久久| 免费无码国产精品| 精品一区二区三区四区| caoporn视频在线| 国产精品久久亚洲7777| 欧美成人有码| 亚洲精品一区二区18漫画| 日韩美女视频一区二区| 中文字幕人妻一区二区在线视频| 日韩国产中文字幕| 日本在线播放一二三区| 精品国产福利| 99视频精品免费观看| 性色av蜜臀av浪潮av老女人| 亚洲午夜成aⅴ人片| 亚洲精品国产suv一区| 久久久久久久久中文字幕| 欧美大片91| 日韩成人三级视频| 成人精品国产免费网站| 久青草免费视频| 亚洲成人三级在线| 精精国产xxxx视频在线播放| 99一区二区三区| 99国产精品视频免费观看一公开| 日韩www视频| 欧美色道久久88综合亚洲精品| 日本黄在线观看| 国产精品www色诱视频| 欧美精品羞羞答答| 国产成年人视频网站| 亚洲伦理在线精品| 亚洲黄色小说网| 欧美一级成年大片在线观看| 亚洲专区视频| 9l视频白拍9色9l视频| 日韩理论片一区二区| www.久久久久久| 538国产精品一区二区在线| 国产99久久精品一区二区300| 一区二区三区免费播放| 亚洲日本护士毛茸茸| 性做久久久久久久久久| 91精品国产免费久久久久久| 国产免费播放一区二区| 在线观看岛国av| 午夜精品福利一区二区三区蜜桃| 久久伊伊香蕉| 91夜夜未满十八勿入爽爽影院| 欧美日韩亚洲一区三区| 中文字幕xxx| 欧美精品日韩精品| av免费不卡| 一区不卡视频| 成人网男人的天堂| 日韩国产成人在线| 欧美成人午夜激情在线| 日韩mv欧美mv国产网站| 超碰在线播放91| 亚洲午夜av在线| eeuss影院www在线观看| 国产精品v欧美精品∨日韩| 久久久久久久欧美精品| 无码黑人精品一区二区| 国产手机视频精品| 精品一区二区三区在线观看视频| 男人操女人免费软件| 自拍偷拍欧美精品| 国产人成在线观看| 国产高清在线一区|