精品欧美一区二区三区在线观看 _久久久久国色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二区在线| 国产亚洲毛片| 国产香蕉97碰碰久久人人| 欧美日韩精品区别| 暖暖在线中文免费日本| 国产亚洲欧美激情| 亚洲综合精品伊人久久| 日韩av大片在线观看| 成人亚洲一区| 亚洲第一色在线| 五月天激情视频在线观看| 色屁屁www国产馆在线观看| 91麻豆精品一区二区三区| 成人激情视频小说免费下载| 日本系列第一页| 日韩av二区| 精品久久久久一区| 国产精品久久久久9999小说| 欧美亚洲系列| 国产精品进线69影院| 国产精品免费一区二区三区观看| 国产一级片一区二区| 欧美日韩中文| 日韩综合视频在线观看| 国产成人无码一区二区在线观看 | 中文字幕乱码日本亚洲一区二区 | 性一交一乱一乱一视频| 日韩成人一区二区三区在线观看| 国外成人在线直播| 最新一区二区三区| 亚洲人成精品久久久| 日韩你懂的在线观看| 国产高清视频网站| 自拍一区在线观看| 亚洲成人精品一区二区| 中文字幕精品一区日韩| 国产高清视频在线播放| 91麻豆国产精品久久| 国产精品区一区二区三在线播放| av中文字幕免费在线观看| 免费在线一区观看| 国产成人jvid在线播放| 四虎成人永久免费视频| 最新日韩在线| 欧美黑人xxx| 69av视频在线| 欧美成人tv| 欧美大奶子在线| 国产精品免费人成网站酒店| 日韩在线综合| 日韩一区视频在线| 日本不卡一二区| 天堂美国久久| 久久精品国产一区| 黄色录像免费观看| 国产精品国内免费一区二区三区| 伊人精品在线观看| 四虎国产成人精品免费一女五男| 国产在线日韩精品| 国产亚洲欧洲在线| 亚洲无人区码一码二码三码的含义 | 国产精品jizz| 亚洲电影一级片| 亚洲男人第一av网站| 无码熟妇人妻av| 经典一区二区| 在线成人中文字幕| 欧美88888| 在线精品小视频| 欧美激情精品久久久久久久变态| 黄色片视频网站| 蜜桃伊人久久| 91精品视频免费观看| 国产乱码久久久| 懂色av一区二区夜夜嗨| 精品国产乱码久久久久久郑州公司| 视频国产在线观看| 欧美高清在线一区| 欧洲xxxxx| 僵尸再翻生在线观看| 色激情天天射综合网| 羞羞的视频在线| 91精品国产自产在线丝袜啪| 妖精一区二区三区精品视频| 亚洲天堂成人在线观看| 无码人妻精品一区二区三区99v| 中文字幕在线观看网站| 亚洲成人免费在线| 88av.com| 亚洲专区**| 亚洲午夜精品久久久久久久久久久久 | 中文字幕精品—区二区| 卡通动漫亚洲综合| 国产亚洲永久域名| 国产免费一区二区三区香蕉精| 国产福利视频导航| 久久先锋影音av| 2021狠狠干| 国产超碰精品| 精品日韩99亚洲| 中字幕一区二区三区乱码| 亚洲精品二区三区| 欧洲日本亚洲国产区| 99riav国产| 国产亚洲一区二区三区四区| 激情图片qvod| 美女写真久久影院| 亚洲国产精品久久久| 五月婷婷六月香| av成人毛片| 亚洲精品欧美一区二区三区| 日本aaa在线观看| 亚洲免费资源在线播放| 午夜欧美福利视频| 激情小说一区| 成人动漫一区二区在线| 亚洲男人天堂2023| 久草视频免费播放| 久久99国产精品久久99果冻传媒| 国产另类第一区| 91精品久久| 欧美日韩亚洲国产综合| 在线 丝袜 欧美 日韩 制服| 国产字幕视频一区二区| 国产日韩欧美黄色| 川上优的av在线一区二区| 天天影视色香欲综合网老头| 色婷婷综合在线观看| 日韩电影免费网址| 国产精国产精品| 婷婷在线免费观看| 一区二区三区高清| 国内自拍第二页| 久久福利影院| 国产精品久久久久一区二区| 欧美挠脚心网站| 高跟丝袜一区二区三区| 成年人小视频在线观看| 欧美韩国一区| 444亚洲人体| а√天堂官网中文在线| 欧美二区三区91| 男人在线观看视频| 麻豆一区二区99久久久久| 青青草国产精品| japanese23hdxxxx日韩| 亚洲欧美国产精品专区久久| 啦啦啦免费高清视频在线观看| 不卡一区二区在线| 国产手机免费视频| 国产精品45p| 国内外成人免费激情在线视频| 日韩在线视频免费| 亚洲成人你懂的| 好吊一区二区三区视频| 亚洲免费网址| 日本一区二区三区www| 性欧美丰满熟妇xxxx性久久久| 蜜桃视频在线观看播放| 日韩av综合网| 欧美一区免费看| 中文字幕欧美三区| 九一精品久久久| 亚洲大全视频| 成人女人免费毛片| 牛牛精品一区二区| 亚洲全黄一级网站| 亚洲特级黄色片| 亚洲欧美激情视频在线观看一区二区三区| 中文字幕在线视频一区二区三区| 欧美黄色aaaa| 国外成人在线视频网站| 日本黄色免费在线| 色偷偷9999www| 国内精品久久久久久久久久| 亚洲国产欧美另类丝袜| 亚洲第一黄色网址| 日本成人在线不卡视频| 97超碰免费观看| 欧美三级自拍| 国产美女久久精品| 超免费在线视频| 国产亚洲免费的视频看| 国产情侣自拍小视频| 亚洲高清不卡在线观看| 性猛交娇小69hd| 国产成人av电影免费在线观看| 91传媒久久久| 女人天堂亚洲aⅴ在线观看| 精品国产一区二区三区免费| 国产亚洲人成a在线v网站| 九九热这里只有精品6| 免费一级毛片在线观看| 91麻豆精品国产91久久久久久| 国产一级在线免费观看| 国产欧美日韩在线| 中文在线字幕观看| 视频一区二区国产| 草草草视频在线观看| 精品美女久久久| 99伊人久久| 久久精品资源| 欧美亚洲激情视频| av电影免费在线观看| 亚洲欧美国产va在线影院| 丰满人妻熟女aⅴ一区| 欧美三级在线播放| 日韩av无码中文字幕| 亚洲欧美偷拍三级| 久久久久亚洲av成人无码电影| 国产在线国偷精品免费看| 5月婷婷6月丁香| 国产精品分类| 一区二区欧美日韩| 少妇精品导航| 国产福利久久精品| 国产精品毛片无码| 国产精品久久久久久久久久免费 | 好吊视频一区二区三区四区| 亚洲国产欧美一区二区三区不卡| 国产伦精品一区二区三区免费优势| 国产日韩欧美成人| 视频精品导航| 国产99视频在线观看| 国产美女精品写真福利视频| 欧美成人小视频| 免费在线视频欧美| 国产亚洲激情视频在线| 天堂在线中文资源| 精品久久久久久亚洲综合网 | 亚洲国产精品免费| www.五月婷婷| 日韩视频123| 国产高潮流白浆喷水视频| 这里只有精品99re| 中文字幕网址在线| 欧美影院午夜播放| 黄色污污视频软件| 色噜噜狠狠色综合欧洲selulu | 在线综合亚洲欧美在线视频| 这里只有精品999| 欧美综合一区二区三区| 日韩电影在线观看一区二区| 欧美视频在线免费看| 日韩成人av毛片| 五月婷婷另类国产| 伊人久久综合视频| 精品国产乱码久久久久久天美| 国产一级特黄毛片| 亚洲成a人v欧美综合天堂| 国产一级视频在线播放| 婷婷国产v国产偷v亚洲高清| 国产手机在线视频| 黑丝美女久久久| 成人小视频在线播放| 在线免费观看不卡av| 中文字幕网址在线| 欧美一二三四区在线| 亚洲国产精品久久人人爱潘金莲 | 国产免费av高清在线| 国产一区二区黄| 成人高清免费观看mv| 最近2019中文字幕在线高清 | 亚洲欧美日韩国产成人精品影院 | eeuss影院www在线播放| 色婷婷成人综合| a在线免费观看| 欧美激情视频一区| 亚洲色图官网| 国产精品美女无圣光视频| 成人在线分类| 精品国产一区二区三区麻豆小说| 奇米亚洲欧美| 在线综合视频网站| 黄色亚洲大片免费在线观看| 精品国产免费av| 开心九九激情九九欧美日韩精美视频电影| 九一精品久久久| jlzzjlzz亚洲日本少妇| 精品人伦一区二区三电影| 国产精品久久久久久久裸模| 精品爆乳一区二区三区无码av| 精品成人乱色一区二区| 九九热最新视频| 欧美成人乱码一区二区三区| 日本免费一区二区三区最新| 日韩视频在线免费观看| 欧洲成人综合网| 国产精品久久中文| 在线观看视频一区二区三区| 欧美日韩精品中文字幕一区二区| 91久久电影| 久久精品免费一区二区| 国产一区二区精品久久| 少妇精品一区二区三区| 亚洲欧美激情小说另类| 人妻丰满熟妇av无码区| 欧美一级夜夜爽| 国产视频在线看| 欧美激情视频一区二区| 巨大黑人极品videos精品| 国产日韩三区| 久久久久久久久久久妇女| 欧美日韩一道本| 国产一本一道久久香蕉| 全黄一级裸体片| 亚洲影视在线播放| 一级做a爱片性色毛片| 日韩电影中文字幕一区| 超碰在线最新| 国产精品青草久久久久福利99| 国产成人高清精品免费5388| 亚洲国产精品影视| 久久精品系列| 亚洲 欧美 日韩在线| 亚洲欧美乱综合| 中文字幕制服诱惑| 精品呦交小u女在线| 超碰在线网址| 国产精品丝袜久久久久久不卡| 欧美中文一区| 蜜臀精品一区二区| 国产在线播精品第三| 在线观看天堂av| 欧美综合色免费| 深夜福利免费在线观看| 久久欧美在线电影| 日韩成人在线观看视频| 中文字幕综合在线观看| 免费在线观看一区二区三区| 91久久免费视频| 色伊人久久综合中文字幕| 四虎永久在线观看| 欧美激情一区二区三区成人| 国产一区二区三区视频在线| 一区二区三区国产福利| 蜜臀av一区二区三区| 法国空姐电影在线观看| 在线免费亚洲电影| 国产精品视频二区三区| 国产精品大片wwwwww| 国产成人黄色| 激情五月亚洲色图| 亚洲国产精品二十页| 中文字幕视频一区二区| 最近2019中文字幕第三页视频| www.久久.com| 亚洲精品一区二区毛豆| 蜜臀久久久久久久| 刘亦菲国产毛片bd| 欧美女孩性生活视频| 免费在线看a| 91久久久精品| 欧美日本三区| 亚洲一区二区三区四区av| 亚洲一区二区三区四区中文字幕| 囯产精品一品二区三区| 97精品在线观看| 蜜桃tv一区二区三区| 999在线免费视频| 国产精品高潮呻吟久久| a级片在线播放| 午夜精品一区二区三区av| 日韩啪啪网站| 日本特黄a级片| 亚洲视频小说图片| 人妻va精品va欧美va| 51色欧美片视频在线观看| 精品一级毛片| 无套内谢丰满少妇中文字幕| 亚洲福利一二三区| 天堂中文在线8| 国产在线观看精品| 黄色在线一区| 国产jjizz一区二区三区视频| 欧美日韩一区二区三区免费看| 操你啦视频在线| 玖玖玖精品中文字幕| 青椒成人免费视频| 久久久久久久久99| 亚洲乱码国产乱码精品精| 成人在线免费电影网站| 亚洲爆乳无码精品aaa片蜜桃| 99re这里只有精品6| 日本丰满少妇做爰爽爽| 欧美插天视频在线播放| 伊人春色之综合网| 国产精品v日韩精品v在线观看| 亚洲综合网站在线观看| 精品三级久久久久久久电影聊斋| 91在线免费网站| 久久精品综合| 欧美成人黄色网| 国产午夜精品免费一区二区三区| 免费一级欧美片在线观看网站| 久久久久人妻精品一区三寸| 亚洲男女一区二区三区| 国产视频网址在线| 国产伦精品一区二区三区照片|