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

消費(fèi)者實(shí)現(xiàn)邏輯-kafka知識(shí)體系(四)

開(kāi)發(fā) 架構(gòu) Kafka
Consumer Group 是 Kafka 提供的可擴(kuò)展且具有容錯(cuò)性的消費(fèi)者機(jī)制。Kafka 僅僅使用 Consumer Group 這一種機(jī)制,卻同時(shí)實(shí)現(xiàn)了傳統(tǒng)消息引擎系統(tǒng)的兩大模型:消息隊(duì)列模型、發(fā)布 / 訂閱模型。

[[410017]]

上篇文章分享kafka broker 的實(shí)現(xiàn)原理、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和消息持久化相關(guān)的東西,那消息存儲(chǔ)完了之后,怎么被消費(fèi)端消費(fèi)呢,本文來(lái)聊一聊Kafka 消費(fèi)端的那些事兒。

1)拉取機(jī)制

Kafka生產(chǎn)端是推的機(jī)制即Push,消費(fèi)端是拉的機(jī)制即Pull。

2)Pull的優(yōu)缺點(diǎn)

優(yōu)點(diǎn)是消費(fèi)端可以自己控制消息的讀取速度和數(shù)量;

缺點(diǎn)是不知道服務(wù)端有沒(méi)有數(shù)據(jù),所以要一直pull或隔一定時(shí)間pull,可能要pull多次并等待。

3)消息投遞語(yǔ)義:

Kafka默認(rèn)保證at-least-once delivery,容許用戶實(shí)現(xiàn)at-most-once語(yǔ)義,exactly-once的實(shí)現(xiàn)取決于目的存儲(chǔ)系統(tǒng)。

4)分區(qū)分配策略

RangeAssignor:按照分區(qū)范圍分配,當(dāng)前默認(rèn)策略;

RoundRobinAssignor:輪詢的方式分配;

StickyAssignor:Kafka 0.11版本引入,根據(jù)更多指標(biāo)比如負(fù)載,盡可能均勻。

這些前面的文章中也有提到。

消費(fèi)者組

Consumer Group 是 Kafka 提供的可擴(kuò)展且具有容錯(cuò)性的消費(fèi)者機(jī)制。Kafka 僅僅使用 Consumer Group 這一種機(jī)制,卻同時(shí)實(shí)現(xiàn)了傳統(tǒng)消息引擎系統(tǒng)的兩大模型:消息隊(duì)列模型、發(fā)布 / 訂閱模型。

理想情況下,Consumer 實(shí)例的數(shù)量應(yīng)該等于該 Group 訂閱主題的分區(qū)總數(shù)。

【消費(fèi)者和消費(fèi)組】

Kafka消費(fèi)者是消費(fèi)組的一部分,當(dāng)多個(gè)消費(fèi)者形成一個(gè)消費(fèi)組來(lái)消費(fèi)主題時(shí),每個(gè)消費(fèi)者會(huì)收到不同分區(qū)的消息。假設(shè)有一個(gè)T1主題,該主題有4個(gè)分區(qū);同時(shí)我們有一個(gè)消費(fèi)組G1,這個(gè)消費(fèi)組只有一個(gè)消費(fèi)者C1。那么消費(fèi)者C1將會(huì)收到這4個(gè)分區(qū)的消息,如下所示:

Kafka一個(gè)很重要的特性就是,只需寫(xiě)入一次消息,可以支持任意多的應(yīng)用讀取這個(gè)消息。換句話說(shuō),每個(gè)應(yīng)用都可以讀到全量的消息。為了使得每個(gè)應(yīng)用都能讀到全量消息,應(yīng)用需要有不同的消費(fèi)組。對(duì)于上面的例子,假如我們新增了一個(gè)新的消費(fèi)組G2,而這個(gè)消費(fèi)組有兩個(gè)消費(fèi)者,那么會(huì)是這樣的:

這里值得我們注意的是:

  • 一個(gè)topic 可以被 多個(gè) 消費(fèi)者組 消費(fèi),

但是每個(gè) 消費(fèi)者組 消費(fèi)的數(shù)據(jù)是 互不干擾 的,也就是說(shuō),每個(gè) 消費(fèi)組 消費(fèi)的都是 完整的數(shù)據(jù) 。

  • 一個(gè)分區(qū)只能被 同一個(gè)消費(fèi)組內(nèi) 的一個(gè) 消費(fèi)者 消費(fèi),

而 不能拆給多個(gè)消費(fèi)者 消費(fèi),也就是說(shuō)如果你某個(gè) 消費(fèi)者組內(nèi)的消費(fèi)者數(shù) 比 該 Topic 的分區(qū)數(shù)還多,那么多余的消費(fèi)者是不起作用的

消費(fèi)者分區(qū)分配的過(guò)程

那么我們現(xiàn)在就來(lái)看看分配過(guò)程是怎么樣的。

1.確定 群組協(xié)調(diào)器

每當(dāng)我們創(chuàng)建一個(gè)消費(fèi)組,kafka 會(huì)為我們分配一個(gè) broker 作為該消費(fèi)組的 coordinator(協(xié)調(diào)器)

2.注冊(cè)消費(fèi)者 并選出 leader consumer

當(dāng)我們的有了 coordinator 之后,消費(fèi)者將會(huì)開(kāi)始往該 coordinator上進(jìn)行注冊(cè),第一個(gè)注冊(cè)的 消費(fèi)者將成為該消費(fèi)組的 leader,后續(xù)的 作為 follower

3.當(dāng) leader 選出來(lái)后,

他會(huì)從coordinator那里實(shí)時(shí)獲取分區(qū) 和 consumer 信息,并根據(jù)分區(qū)策略給每個(gè)consumer 分配 分區(qū),并將分配結(jié)果告訴 coordinator。

4.follower 消費(fèi)者將從 coordinator 那里獲取到自己相關(guān)的分區(qū)信息進(jìn)行消費(fèi),

對(duì)于所有的 follower 消費(fèi)者而言,他們只知道自己消費(fèi)的分區(qū),并不知道其他消費(fèi)者的存在。

5.至此,消費(fèi)者都知道自己的消費(fèi)的分區(qū),

分區(qū)過(guò)程結(jié)束,當(dāng)發(fā)生 分區(qū)再均衡 的時(shí)候,leader 將會(huì)重復(fù)分配過(guò)程

具體的流程圖可以翻閱前面的文章。

關(guān)于位移

【位移 offset】

  • 每個(gè)消費(fèi)者在消費(fèi)消息的過(guò)程中必然需要有個(gè)字段記錄它當(dāng)前消費(fèi)到了分區(qū)的哪個(gè)位置上,這個(gè)字段就是消費(fèi)者位移(Consumer Offset),它是消費(fèi)者消費(fèi)進(jìn)度的指示器。
  • 看上去Offset 就是一個(gè)數(shù)值而已,其實(shí)對(duì)于 Consumer Group 而言,它是一組 KV 對(duì),Key 是分區(qū),V 對(duì)應(yīng) Consumer 消費(fèi)該分區(qū)的最新位移 TopicPartition->long
  • 不過(guò)切記的是消費(fèi)者位移是下一條消息的位移,而不是目前最新消費(fèi)消息的位移。
  • 提交位移主要是為了表征 Consumer 的消費(fèi)進(jìn)度,這樣當(dāng) Consumer 發(fā)生故障重啟之后,就能夠從 Kafka 中讀取之前提交的位移值,然后從相應(yīng)的位移處繼續(xù)消費(fèi),從而避免整個(gè)消費(fèi)過(guò)程重來(lái)一遍。

【位移的保存】

其實(shí)Consumer 端應(yīng)用程序在提交位移時(shí),其實(shí)是向 Coordinator 所在的 Broker 提交位移。同樣地,當(dāng) Consumer 應(yīng)用啟動(dòng)時(shí),也是向 Coordinator 所在的 Broker 發(fā)送各種請(qǐng)求,然后由 Coordinator 負(fù)責(zé)執(zhí)行消費(fèi)者組的注冊(cè)、成員管理記錄等元數(shù)據(jù)管理操作。

老版本的 Consumer Group 把位移保存在 ZooKeeper 中,新版本的 Consumer Group 中,Kafka 社區(qū)重新設(shè)計(jì)了 Consumer Group 的位移管理方式,采用了將位移保存在 Kafka內(nèi)部主題的方法,也就是__consumer_offsets,俗稱(chēng)位移主題。至于為什么放棄kafka 保存位移請(qǐng)看我前面的文章《基礎(chǔ)概念、架構(gòu)和新版的升級(jí)Kafka知識(shí)體系1》。

【位移主題的數(shù)據(jù)格式】

key

  • 位移主題的 Key 中應(yīng)該保存 3 部分內(nèi)容:Group ID,主題名,分區(qū)號(hào)

value

  • 主要保存的是offset 的信息,當(dāng)然還有時(shí)間戳等信息,你還記得你可以根據(jù)時(shí)間重置一個(gè)消費(fèi)者開(kāi)始消費(fèi)的地方嗎

【位移的提交】

1. 自動(dòng)提交

最簡(jiǎn)單的提交方式是讓消費(fèi)者自動(dòng)提交偏移量,如果 enable.auto.commit 被設(shè)為 true,那么每過(guò) 5s,消費(fèi)者會(huì)自動(dòng)把從 poll() 方法接收到的最大偏移量提交上去。

可能造成的問(wèn)題:數(shù)據(jù)重復(fù)讀

假設(shè)我們?nèi)匀皇褂媚J(rèn)的 5s 提交時(shí)間間隔,在最近一次提交之后的 3s 發(fā)生了再均衡,再均衡之后,消費(fèi)者從最后一次提交的偏移量位置開(kāi)始讀取消息。這個(gè)時(shí)候偏移量已經(jīng)落后了 3s,所以在這 3s內(nèi)到達(dá)的消息會(huì)被重復(fù)處理??梢酝ㄟ^(guò)修改提交時(shí)間間隔來(lái)更頻繁地提交偏移量,減小可能出現(xiàn)重復(fù)消息的時(shí)間窗,不過(guò)這種情況是無(wú)法完全避免的。

2. 手動(dòng)提交

2.1 同步提交

同步存在的問(wèn)題

  • 從名字上來(lái)看,它是一個(gè)同步操作,即該方法會(huì)一直等待,直到位移被成功提交才會(huì)返回。如果提交過(guò)程中出現(xiàn)異常,該方法會(huì)將異常信息拋出。
  • commitSync()的問(wèn)題在于,Consumer程序會(huì)處于阻塞狀態(tài),直到遠(yuǎn)端的Broker返回提交結(jié)果,這個(gè)狀態(tài)才會(huì)結(jié)束,需要注意的是同步提交會(huì)在提交失敗之后進(jìn)行重試
  • 在任何系統(tǒng)中,因?yàn)槌绦蚨琴Y源限制而導(dǎo)致的阻塞都可能是系統(tǒng)的瓶頸,會(huì)影響整個(gè)應(yīng)用程序的 TPS,影響吞吐量。

2.2 異步提交

手動(dòng)提交有一個(gè)不足之處,在 broker 對(duì)提交請(qǐng)求作出回應(yīng)之前,應(yīng)用程序會(huì)一直阻塞,這樣會(huì)限制應(yīng)用程序的吞吐量。我們可以通過(guò)降低提交頻率來(lái)提升吞吐量,但如果發(fā)生了再均衡,會(huì)增加重復(fù)消息的數(shù)量。

這時(shí)可以使用異步提交,只管發(fā)送提交請(qǐng)求,無(wú)需等待 broker 的響應(yīng)。它之所以不進(jìn)行重試,是因?yàn)樵谒盏椒?wù)器響應(yīng)的時(shí)候,可能有一個(gè)更大的偏移量已經(jīng)提交成功。

假設(shè)我們發(fā)出一個(gè)請(qǐng)求用于提交偏移量2000,這個(gè)時(shí)候發(fā)生了短暫的通信問(wèn)題,服務(wù)器收不到請(qǐng)求,自然也不會(huì)作出任何響應(yīng)。與此同時(shí),我們處理了另外一批消息,并成功提交了偏移量3000。如果commitAsync()重新嘗試提交偏移量2000,它有可能在偏移量3000之后提交成功。這個(gè)時(shí)候如果發(fā)生再均衡,就會(huì)出現(xiàn)重復(fù)消息。

異步存在的問(wèn)題

  • commitAsync 的問(wèn)題在于,出現(xiàn)問(wèn)題時(shí)它不會(huì)自動(dòng)重試。因?yàn)樗钱惒讲僮?,倘若提交失敗后自?dòng)重試,那么它重試時(shí)提交的位移值可能早已經(jīng)“過(guò)期”或不是最新值了。因此,異步提交的重試其實(shí)沒(méi)有意義,所以 commitAsync 是不會(huì)重試的,所以只要在程序停止前最后一次提交成功即可。
  • 這里提供一個(gè)解決方案,那就是不論成功還是失敗我們都將offsets信息記錄下來(lái),如果最后一次提交成功那就忽略,如果最后一次沒(méi)有提交成功,我們可以在下次重啟的時(shí)候手動(dòng)指定offset

綜合異步和同步來(lái)提交

同時(shí)使用了 commitSync() 和 commitAsync()。對(duì)于常規(guī)性、階段性的手動(dòng)提交,我們調(diào)用 commitAsync() 避免程序阻塞,而在 Consumer 要關(guān)閉前,我們調(diào)用 commitSync() 方法執(zhí)行同步阻塞式的位移提交,以確保 Consumer 關(guān)閉前能夠保存正確的位移數(shù)據(jù)。

關(guān)于再均衡Rebalance

分區(qū)的所有權(quán)從一個(gè)消費(fèi)者轉(zhuǎn)移到另一個(gè)消費(fèi)者,這樣的行為被稱(chēng)為再均衡(Rebalance)。再均衡非常重要,為消費(fèi)者組帶來(lái)了高可用性和伸縮性,可以放心的增加或移除消費(fèi)者。以下是觸發(fā)再均衡的三種行為:

  1. 當(dāng)一個(gè) 消費(fèi)者 加入組時(shí),讀取了原本由其他消費(fèi)者讀取的分區(qū),會(huì)觸發(fā)再均衡。
  2. 當(dāng)一個(gè) 消費(fèi)者 離開(kāi)組時(shí)(被關(guān)閉或發(fā)生崩潰),原本由它讀取的分區(qū)將被組里的其他 消費(fèi)者 來(lái)讀取,會(huì)觸發(fā)再均衡。
  3. 當(dāng) Topic 發(fā)生變化時(shí),比如添加了新的分區(qū),會(huì)發(fā)生分區(qū)重分配,會(huì)觸發(fā)再均衡。

分區(qū)再均衡 期間該 Topic 是不可用的,所以Rebalance 實(shí)在是太慢了!!!

這里再補(bǔ)充一下生產(chǎn)環(huán)境中因?yàn)椴徽_的配置引起的不需要的分區(qū)再均衡。

正常集群變動(dòng)不再考慮范圍內(nèi):

1.防止 因?yàn)槲茨芗皶r(shí)發(fā)送心跳,導(dǎo)致Consumer 超時(shí)被踢出消費(fèi)者組。

這里可以設(shè)置 session.timeout.ms超時(shí)時(shí)間 和 heartbeat.interval.ms 心跳間隔一般可以把 超時(shí)時(shí)間設(shè)置為 心跳間隔的 3倍。

2.Consumer消費(fèi)時(shí)間過(guò)長(zhǎng)導(dǎo)致的。

Consumer端如果無(wú)法在規(guī)定時(shí)間內(nèi)消費(fèi)完 poll 來(lái)的消息,那么就認(rèn)為該消費(fèi)者有問(wèn)題,從而該消費(fèi)者會(huì)自主離組,所以我們可以設(shè)置 max.poll.interval.ms比處理時(shí)間略長(zhǎng)。

3.從第二點(diǎn)我們還可能引申一點(diǎn)就是,如果集群經(jīng)常發(fā)生 分區(qū)在均衡,

那么你可能需要去觀察下消費(fèi)者執(zhí)行任務(wù)的耗時(shí),特別注意觀察下 GC 的占用時(shí)間。

往往線上出問(wèn)題也是因?yàn)榕渲貌缓侠韺?dǎo)致的。

 

責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2021-07-12 10:25:03

RocketMQ數(shù)據(jù)結(jié)構(gòu)kafka

2021-07-05 06:26:08

生產(chǎn)者kafka架構(gòu)

2021-07-07 07:06:31

Brokerkafka架構(gòu)

2023-06-01 08:08:38

kafka消費(fèi)者分區(qū)策略

2015-07-28 17:52:36

IOS知識(shí)體系

2021-07-14 17:18:14

RocketMQ消息分布式

2021-10-26 10:50:25

Kafkabroker

2021-07-13 11:52:47

順序消息RocketMQkafka

2017-06-22 13:07:21

2012-03-08 11:13:23

企業(yè)架構(gòu)

2021-12-22 11:00:05

模型Golang語(yǔ)言

2017-02-27 16:42:23

Spark識(shí)體系

2017-04-03 15:35:13

知識(shí)體系架構(gòu)

2021-07-02 06:27:00

Kafka架構(gòu)主從架構(gòu)

2015-08-26 09:39:30

java消費(fèi)者

2017-05-16 12:30:21

Python多線程生產(chǎn)者消費(fèi)者模式

2022-08-02 10:01:42

架構(gòu)

2022-07-07 09:00:49

RocketMQ消費(fèi)者消息消費(fèi)

2011-08-05 16:21:24

2011-07-22 16:25:38

CA TechnoloIT消費(fèi)化
點(diǎn)贊
收藏

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

久久久久久av无码免费网站下载| 91大神在线播放精品| 尤物国产在线观看| yellow91字幕网在线| 国产精品一区二区在线播放| 色综合久综合久久综合久鬼88| www.男人天堂| 亚洲国产尤物| 一片黄亚洲嫩模| 欧洲精品久久| 性生活黄色大片| 久久精品官网| 欧美精品激情在线观看| 国产又大又粗又爽的毛片| 国产精品xnxxcom| 色综合天天综合狠狠| 一区二区在线观看网站| 青青操视频在线| 国内精品自线一区二区三区视频| 欧美一性一乱一交一视频| 亚洲av无一区二区三区| 欧美一级二级三级视频| 在线91免费看| 亚洲福利精品视频| 极品在线视频| 自拍偷拍欧美精品| 色播五月综合| 婷婷伊人综合中文字幕| 国产精品亚洲午夜一区二区三区| 国产97色在线| 国产情侣自拍av| 欧美日韩1区2区3区| 亚洲人精选亚洲人成在线| 久久久久国产免费| 精品中文视频| 欧美日韩精品欧美日韩精品一| 国产成人无码精品久久久性色| 亚洲欧美成人影院| 亚洲欧洲国产日韩| 日韩精品一区二区三区色偷偷| 日本精品一二区| 国产精品12区| 亚洲aaaaaa| 曰批又黄又爽免费视频| 日日骚欧美日韩| 日本亚洲欧美三级| 少妇一级淫片免费放中国 | 第九区2中文字幕| 99re热久久这里只有精品34| 国产亚洲综合在线| 欧美日韩三区四区| 毛片在线能看| 国产亚洲欧美日韩在线一区| 久久精品一区二区三区不卡免费视频| 人妻视频一区二区三区| 成人免费高清在线| 国产精品福利视频| 色婷婷激情五月| 99re热这里只有精品免费视频| 国产尤物91| 亚洲av成人精品一区二区三区在线播放 | 久久视频免费观看| 91视频青青草| 午夜激情一区| 国模吧一区二区| 免费看日韩毛片| 午夜影院日韩| 国产精品xxx视频| 在线免费看av片| 国产在线视频一区二区三区| 99久久自偷自偷国产精品不卡| 亚洲第一第二区| 99re成人在线| 日本免费一区二区三区| 日本最新在线视频| 日韩理论片网站| www.亚洲视频.com| 亚洲涩涩在线| 欧美日韩大陆在线| 五月天丁香社区| 亚洲最好看的视频| 中文字幕无线精品亚洲乱码一区 | av小片在线| 亚洲精品欧美激情| 欧美日韩一道本| 成人亚洲网站| 亚洲成人av片| 四虎永久免费在线观看| 国产精品99一区二区三| 久久久久国产精品免费网站| 久久国产视频一区| 九九精品视频在线看| 岛国一区二区三区高清视频| 青青青草原在线| 亚洲色图制服丝袜| 国产亚洲欧美在线视频| 亚洲色图综合| 日韩成人在线免费观看| 91动漫免费网站| 一本不卡影院| 91精品免费看| 色综合久久网女同蕾丝边| 国产精品久久久久一区二区三区共| 91精品国产毛片武则天| 午夜欧美巨大性欧美巨大| 欧美一区二区三区四区视频| 中文字幕丰满孑伦无码专区| 国产高清一区| 国产成一区二区| 日本激情视频网站| 亚洲三级久久久| 国产成人av影视| jizz18欧美18| x99av成人免费| 亚洲 欧美 日韩 在线| 国产精品66部| 制服国产精品| 97成人超碰| 亚洲免费av电影| 精品午夜福利在线观看| 久久99日本精品| 鲁鲁狠狠狠7777一区二区| 尤物视频在线看| 欧美另类高清zo欧美| 免费人成又黄又爽又色| 99视频一区| 成人免费91在线看| 久操视频在线免费播放| 欧美性生活一区| 中出视频在线观看| 亚洲黄色影片| 国产v亚洲v天堂无码| 四虎久久免费| 欧美手机在线视频| 久久婷婷五月综合| 欧美中文日韩| 久久国产精品久久精品国产| 不卡av免费观看| 日韩视频免费直播| 欧美在线视频一区二区三区| 伊人精品影院| 91精品国产色综合久久不卡电影| 欧美另类z0zx974| 久久蜜桃资源一区二区老牛| 精品九九九九| 香蕉伊大人中文在线观看| 亚洲精品456在线播放狼人| 久久久久成人网站| 成人一区二区三区在线观看 | 亚洲精选久久| 国产综合 伊人色| а√天堂资源官网在线资源| 亚洲福利小视频| 国产69精品久久久久久久久久| 不卡av免费在线观看| 欧美啪啪免费视频| 日韩av系列| 欧美在线一级va免费观看| 日本在线丨区| 日本大香伊一区二区三区| 日本成人免费视频| 老司机午夜精品| 日本一道在线观看| 国产精品天天看天天狠| 91精品国产乱码久久久久久久久 | 青青草国产免费| 99精品中文字幕在线不卡| 国内揄拍国内精品| 麻豆av电影在线观看| 在线观看国产日韩| 午夜爽爽爽男女免费观看| 国产91精品免费| 免费观看日韩毛片| 97精品国产| 成人激情av| 中文字幕资源网在线观看免费 | 国产精品国产三级国产专区53 | 蜜桃av乱码一区二区三区| 日本 国产 欧美色综合| 老汉色影院首页| 美女一区二区在线观看| 国产精品高清免费在线观看| 麻豆免费在线视频| 亚洲韩国日本中文字幕| 这里只有久久精品视频| 亚洲精品视频在线观看网站| 狠狠人妻久久久久久综合蜜桃| 免费不卡在线视频| www插插插无码免费视频网站| 小说区图片区色综合区| 96国产粉嫩美女| 亚洲小少妇裸体bbw| 日韩有码在线播放| 天天干天天草天天射| 欧美三级视频在线| 国内免费精品视频| 国产精品成人免费| 中文字幕5566| 国产在线精品一区二区三区不卡| 久久久一本二本三本| 午夜av一区| 麻豆亚洲一区| 日本亚洲视频| 国产精品久久久久999| 国模雨婷捆绑高清在线| 日日骚av一区| 青青青手机在线视频观看| 精品日韩欧美一区二区| 久草热在线观看| 精品久久久久久久久久久久| 91精品一区二区三区蜜桃| 久久久国际精品| 日本不卡视频一区| 国产一区二区在线视频| 美女喷白浆视频| 国产日韩欧美三区| 欧美日韩dvd| 欧美成人自拍| 日本一区视频在线| www.神马久久| 国产精品丝袜高跟| 午夜欧美巨大性欧美巨大| 久久久在线视频| 国产在线观看免费麻豆| 中文字幕成人在线| 国产在线视频资源| 午夜精品久久久久久久久久 | 日本精品一二三| 国产综合一区二区| 国产三级三级看三级| 久久久夜夜夜| 黄色a级片免费| 国产精品毛片| 无码播放一区二区三区| 激情偷拍久久| r级无码视频在线观看| 综合精品久久| 欧洲金发美女大战黑人| 91成人看片| 特级黄色录像片| 亚洲五月综合| 青青在线视频免费观看| 午夜国产精品视频免费体验区| 久久av喷吹av高潮av| 97精品视频| 日本黄网站色大片免费观看| 亚洲精品一区二区妖精| av磁力番号网| 国产精品www994| 国产av人人夜夜澡人人爽麻豆 | www.欧美日本| 日本亚洲一区二区| 国产视频1区2区3区| 久久aⅴ国产欧美74aaa| 91视频福利网| 成人手机在线视频| 亚洲精品乱码久久久久久不卡| a级高清视频欧美日韩| av鲁丝一区鲁丝二区鲁丝三区| av网站免费线看精品| 免费观看av网站| 日本一区二区免费在线| 成年人网站在线观看视频| 亚洲日本在线视频观看| 久久免费视频精品| 午夜亚洲福利老司机| 九九热精品视频在线| 在线一区二区三区四区| 一级特黄aaa大片在线观看| 91麻豆精品国产91久久久更新时间 | 日本性爱视频在线观看| 国内外成人免费激情在线视频| 在线天堂新版最新版在线8| 国产精品久久久久久久久久尿 | 91精品中文字幕一区二区三区| a在线观看视频| 日韩电影在线观看中文字幕| 大乳在线免费观看| 日韩一区二区在线播放| 欧日韩在线视频| 亚洲日本欧美日韩高观看| 欧美日韩在线看片| 午夜精品福利电影| 日产精品一区| 91夜夜揉人人捏人人添红杏| 久久精品国产亚洲blacked| 欧美一区二区影视| 欧美96在线丨欧| 成人亚洲视频在线观看| 国产成人亚洲综合a∨猫咪| 三上悠亚ssⅰn939无码播放| 日韩一区欧美小说| 国产免费观看av| 91精品国产综合久久精品图片 | 国产精品igao视频网网址不卡日韩| http;//www.99re视频| 免费看成人哺乳视频网站| 国产免费xxx| 视频在线观看91| av漫画在线观看| 国产精品毛片无遮挡高清| 日韩乱码一区二区| 884aa四虎影成人精品一区| 日韩av高清在线| 欧美另类xxx| 国产精品久久久久77777丨| 精品国产一区二区三区免费 | 久久综合免费视频影院| 亚洲日本天堂| 高清不卡日本v二区在线| 欧美激情电影| 国产精品-区区久久久狼| 国产成人在线观看| 国产精品99久久久久久成人| 一本色道a无线码一区v| 黄色小视频免费在线观看| 日韩视频精品在线| 日韩欧美一区二区三区免费观看 | 免费成人蒂法网站| 亚洲人成网站精品片在线观看 | 蜜桃av在线| 99在线首页视频| 99精品全国免费观看视频软件| 日韩精品一区二区三区不卡| yourporn久久国产精品| 青青操视频在线播放| 9191精品国产综合久久久久久| 国产高清av在线| 国产成人精品视频在线| 欧美久久精品| 免费一级特黄毛片| 国产成人精品影院| 精品99久久久久成人网站免费| 欧美日韩成人综合天天影院 | 牛夜精品久久久久久久| 久久男人中文字幕资源站| 日韩精品无码一区二区| 精品日韩一区二区三区| 国产天堂在线播放视频| caoporn国产精品免费公开| 欧美先锋影音| 国产清纯白嫩初高中在线观看性色| 亚洲人精品一区| 性一交一乱一精一晶| 欧美巨乳美女视频| 欧美成年网站| 久久www视频| 成人综合婷婷国产精品久久免费| 久草视频免费在线播放| 欧美一二三区在线观看| 色黄网站在线观看| 福利视频一区二区三区| 亚洲狼人精品一区二区三区| 欧亚乱熟女一区二区在线| 精品久久久久久久久久国产| 日本电影一区二区在线观看| 日韩免费在线播放| 日韩精品免费| 91网址在线观看精品| 亚洲一区二区在线视频| 欧美一级免费片| 51精品国产黑色丝袜高跟鞋| 国产亚洲一卡2卡3卡4卡新区| 密臀av一区二区三区| 国产精品国产三级国产有无不卡| 国产夫妻在线观看| 久久人人看视频| 在线日韩网站| 中文字幕久久av| 亚洲一区二区高清| 欧美成人综合在线| 国产精品直播网红| 国精品一区二区三区| 国产高清自拍视频| 欧美无砖砖区免费| 欧美色图天堂| 欧美日韩国产三区| 国内久久婷婷综合| 麻豆成人免费视频| 精品国产一区二区三区久久久狼 | 精品久久久久一区| 欧美国产大片| 黄色一级片网址| 97久久久精品综合88久久| 在线免费av网| 欧美精品videos另类日本| 九九在线高清精品视频| 精品亚洲视频在线| 五月综合激情日本mⅴ| 中文字幕日本在线| 国产欧美亚洲日本| 欧美bbbbb| 日操夜操天天操| 日韩在线观看免费高清| 欧美色图婷婷| 久久精品一二三四| 欧美影院一区二区三区| 97超碰免费在线| 国产卡一卡二在线| 国产喷白浆一区二区三区|