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

Kafka原理篇:圖解kakfa架構(gòu)原理

開(kāi)發(fā) 架構(gòu) Kafka
決定圖解 Kakfa,卻讓很多半懂不懂的同學(xué)可以加深對(duì) Kafka 實(shí)現(xiàn)原理的理解。

 我想很多同學(xué)之前可能已經(jīng)看過(guò)很多 Kafka 原理相關(guān)的文章,但往往看時(shí)"牛逼"聲連連,激情滿滿,總覺(jué)得自己又學(xué)習(xí)到了各種“吊炸天”的技術(shù)。但很多同學(xué)往往是不覺(jué)明厲,把文章結(jié)合面試題背一背還能應(yīng)付一下半吊子面試官。可以遇到老司機(jī)面試官,或是進(jìn)入實(shí)戰(zhàn),卻對(duì)很多概念和實(shí)現(xiàn)摸棱兩可。

所以,決定圖解 Kakfa,卻讓很多半懂不懂的同學(xué)可以加深對(duì) Kafka 實(shí)現(xiàn)原理的理解。

同時(shí)建議讀者同學(xué)結(jié)合 Kafka 的配置去了解 Kafka 的實(shí)現(xiàn)原理,Kafka 有大量的配置,這也是 Kafka 高度擴(kuò)展的一個(gè)表現(xiàn),很多同學(xué)對(duì) Kafka 的配置也不敢輕易改動(dòng)。所以理解這些配置背后的實(shí)現(xiàn)原理,可以讓我們?cè)趯?shí)踐中懂得如何使用和優(yōu)化 Kafka。既可面試造火箭,也可以實(shí)戰(zhàn)造火箭。

Kafka 配置說(shuō)明鏈接:https://kafka.apache.org/documentation

下面是本文的主要的內(nèi)容:

由于內(nèi)容太多,怕步子邁太大扯著蛋,決定將文章分成三篇。此文只會(huì)涉及上面圖中"橙色"的部分。

從本文你將學(xué)習(xí)到:

  •  Kafka 架構(gòu)設(shè)計(jì)哲學(xué)和原理
  •  Kafka 中 zookeeper 的作用
  •  Kafka Controller 實(shí)現(xiàn)原理
  •  Kafka Network 原理 

開(kāi)篇寄語(yǔ)

盡可能做一些產(chǎn)品出來(lái),有一個(gè)作品很重要,這是別人了解你的窗口。如果可能,給自己開(kāi)一個(gè)公眾號(hào)或者一個(gè)博客,記錄自己每天的見(jiàn)聞思考。剛開(kāi)始記會(huì)很凌亂沒(méi)有邏輯,但堅(jiān)持下去一定會(huì)有很大價(jià)值。 

Architecture

理解 Kafka 架構(gòu),就是理解 Kafka 的各種組件的概念,以及這些組件的關(guān)系。先簡(jiǎn)單看一下各組件及其簡(jiǎn)單說(shuō)明。

不要去嘗試記憶他們

Producer: 生產(chǎn)者,發(fā)送消息的一方。生產(chǎn)者負(fù)責(zé)創(chuàng)建消息,然后將其發(fā)送到 Kafka。

Consumer: 消費(fèi)者,接受消息的一方。消費(fèi)者連接到 Kafka 上并接收消息,進(jìn)而進(jìn)行相應(yīng)的業(yè)務(wù)邏輯處理。

Consumer Group: 一個(gè)消費(fèi)者組可以包含一個(gè)或多個(gè)消費(fèi)者。使用多分區(qū) + 多消費(fèi)者方式可以極大提高數(shù)據(jù)下游的處理速度,同一消費(fèi)組中的消費(fèi)者不會(huì)重復(fù)消費(fèi)消息,同樣的,不同消費(fèi)組中的消費(fèi)者消息消息時(shí)互不影響。Kafka 就是通過(guò)消費(fèi)組的方式來(lái)實(shí)現(xiàn)消息 P2P 模式和廣播模式。

Broker: 服務(wù)代理節(jié)點(diǎn)。Broker 是 Kafka 的服務(wù)節(jié)點(diǎn),即 Kafka 的服務(wù)器。

Topic: Kafka 中的消息以 Topic 為單位進(jìn)行劃分,生產(chǎn)者將消息發(fā)送到特定的 Topic,而消費(fèi)者負(fù)責(zé)訂閱 Topic 的消息并進(jìn)行消費(fèi)。

Partition: Topic 是一個(gè)邏輯的概念,它可以細(xì)分為多個(gè)分區(qū),每個(gè)分區(qū)只屬于單個(gè)主題。同一個(gè)主題下不同分區(qū)包含的消息是不同的,分區(qū)在存儲(chǔ)層面可以看作一個(gè)可追加的日志(Log)文件,消息在被追加到分區(qū)日志文件的時(shí)候都會(huì)分配一個(gè)特定的偏移量(offset)。

Offset: offset 是消息在分區(qū)中的唯一標(biāo)識(shí),Kafka 通過(guò)它來(lái)保證消息在分區(qū)內(nèi)的順序性,不過(guò) offset 并不跨越分區(qū),也就是說(shuō),Kafka 保證的是分區(qū)有序性而不是主題有序性。

Replication: 副本,是 Kafka 保證數(shù)據(jù)高可用的方式,Kafka 同一 Partition 的數(shù)據(jù)可以在多 Broker 上存在多個(gè)副本,通常只有主副本對(duì)外提供讀寫(xiě)服務(wù),當(dāng)主副本所在 broker 崩潰或發(fā)生網(wǎng)絡(luò)異常,Kafka 會(huì)在 Controller 的管理下會(huì)重新選擇新的 Leader 副本對(duì)外提供讀寫(xiě)服務(wù)。

Record: 實(shí)際寫(xiě)入 Kafka 中并可以被讀取的消息記錄。每個(gè) record 包含了 key、value 和 timestamp。

我們理解了也就自然記住了

我們應(yīng)該通過(guò)理解的方式去記憶它們。

生產(chǎn)者-消費(fèi)者

生產(chǎn)者-消費(fèi)者是一種設(shè)計(jì)模式,生產(chǎn)者和消費(fèi)者之間通過(guò)添加一個(gè)中間組件來(lái)達(dá)到解耦。生產(chǎn)者向中間組件生成數(shù)據(jù),消費(fèi)者消費(fèi)數(shù)據(jù)。

就像 65 哥讀書(shū)時(shí)給小芳寫(xiě)情書(shū),這里 65 哥就是生產(chǎn)者,情書(shū)就是消息,小芳就是消費(fèi)者。但有時(shí)候小芳不在,或者比較忙,65 哥也比較害羞,不敢直接將情書(shū)塞小芳手里,于是將情書(shū)塞在小芳抽屜中。所以抽屜就是這個(gè)中間組件。

在程序中我們通常使用Queue來(lái)作為這個(gè)中間組件。可以使用多線程向隊(duì)列中寫(xiě)入數(shù)據(jù),另外的消費(fèi)者線程依次讀取隊(duì)列中的數(shù)據(jù)進(jìn)行消費(fèi)。模型如下圖所示:

生產(chǎn)者-消費(fèi)者模式通過(guò)添加一個(gè)中間層,不僅可以解耦生產(chǎn)者和消費(fèi)者,使其易于擴(kuò)展,還可以異步化調(diào)用、緩沖消息等。

分布式隊(duì)列

后來(lái) 65 哥和小芳異地了,65 哥在卷都奮斗,小芳在魔都逛街。于是只能通過(guò)郵局寄曖昧信了。這樣 65 哥、郵局和小芳就成了分布式的了。65 哥將信件發(fā)給郵局,小芳從郵局拿到 65 哥寫(xiě)的信,再回去慢慢看。

Kafka 的消息生產(chǎn)者就是Producer,上游消費(fèi)者進(jìn)程添加 Kafka Client 創(chuàng)建 Kafka Producer,向 Broker 發(fā)送消息,Broker 是集群部署在遠(yuǎn)程服務(wù)器上的 Kafka Server 進(jìn)程,下游消費(fèi)者進(jìn)程引入 Kafka Consumer API 持續(xù)消費(fèi)隊(duì)列中消息。

因?yàn)?Kafka Consumer 使用 Poll 的模式,需要 Consumer 主動(dòng)拉去消息。所有小芳只能定期去郵局拿信件了(呃,果然主動(dòng)權(quán)都在小芳手上啊)。

主題

郵局不能只為 65 哥服務(wù),雖然 65 哥一天寫(xiě)好幾封信。但也無(wú)法挽回郵局的損失。所以郵局是可以供任何人寄信。只需要寄信人寫(xiě)好地址(主題),郵局建有兩地的通道就可以發(fā)收信件了。

Kafka 的 Topic 才相當(dāng)于一個(gè)隊(duì)列,Broker 是所有隊(duì)列部署的機(jī)器。可以按業(yè)務(wù)創(chuàng)建不同的 Topic,Producer 向所屬業(yè)務(wù)的 Topic 發(fā)送消息,相應(yīng)的 Consumer 可以消費(fèi)并處理消息。

分區(qū)

由于 65 哥寫(xiě)的信太多,一個(gè)郵局已經(jīng)無(wú)法滿足 65 哥的需求,郵政公司只能多建幾個(gè)郵局了,65 哥將信件按私密度分類(lèi)(分區(qū)策略),從不同的郵局寄送。

同一個(gè) Topic 可以創(chuàng)建多個(gè)分區(qū)。理論上分區(qū)越多并發(fā)度越高,Kafka 會(huì)根據(jù)分區(qū)策略將分區(qū)盡可能均衡的分布在不同的 Broker 節(jié)點(diǎn)上,以避免消息傾斜,不同的 Broker 負(fù)載差異太大。分區(qū)也不是越多越好哦,畢竟太多郵政公司也管理不過(guò)來(lái)。

副本

為防止由于郵局的問(wèn)題,比如交通斷啦,郵車(chē)沒(méi)油啦。導(dǎo)致 65 哥的曖昧信無(wú)法寄到小芳手上,使得 65 哥晚上遠(yuǎn)程跪鍵盤(pán)。郵局決定將 65 哥的信件復(fù)制幾份發(fā)到多個(gè)正常的郵局,這樣只要有一個(gè)郵局還在,小芳就可以收到 65 哥的信了。

Kafka 采用分區(qū)副本的方式來(lái)保證數(shù)據(jù)的高可用,每個(gè)分區(qū)都將建立指定數(shù)量的副本數(shù),kakfa 保證同一分區(qū)副本盡量分布在不同的 Broker 節(jié)點(diǎn)上,以防止 Broker 宕機(jī)導(dǎo)致所有副本不可用。Kafka 會(huì)為分區(qū)的多個(gè)副本選舉一個(gè)作為主副本(Leader),主副本對(duì)外提供讀寫(xiě)服務(wù),從副本(Follower)實(shí)時(shí)同步 Leader 的數(shù)據(jù)。

多消費(fèi)者

哎,65 哥的信件滿天飛,小芳天天跑郵局,還要一一拆開(kāi)看,65 哥寫(xiě)的信又臭又長(zhǎng),讓小芳忙得滿身大漢大汗。于是小芳啪的一下,很快啊,變出多個(gè)分身去不同的郵局取信,這樣小芳終于可以擠出額外的時(shí)間逛街了。

廣播消息

郵局最近提供了定制明信片業(yè)務(wù),每個(gè)人都可以設(shè)計(jì)明信片,同一個(gè)身份只能領(lǐng)取一種明信片。65 哥設(shè)計(jì)了一堆,廣播給所有漂亮的小妹妹都可以來(lái)領(lǐng)取,美女啪變出的分身也可以來(lái)領(lǐng)取,但是同一個(gè)身份的多個(gè)分身只能取一種明信片。

Kafka 通過(guò) Consumer Group 來(lái)實(shí)現(xiàn)廣播模式消息訂閱,即不同 group 下的 consumer 可以重復(fù)消費(fèi)消息,相互不影響,同一個(gè) group 下的 consumer 構(gòu)成一個(gè)整體。

最后我們完成了 Kafka 的整體架構(gòu),如下:

 

Zookeeper

Zookeeper 是一個(gè)成熟的分布式協(xié)調(diào)服務(wù),它可以為分布式服務(wù)提供分布式配置服、同步服務(wù)和命名注冊(cè)等能力.。對(duì)于任何分布式系統(tǒng),都需要一種協(xié)調(diào)任務(wù)的方法。Kafka 是使用 ZooKeeper 而構(gòu)建的分布式系統(tǒng)。但是也有一些其他技術(shù)(例如 Elasticsearch 和 MongoDB)具有其自己的內(nèi)置任務(wù)協(xié)調(diào)機(jī)制。

Kafka 將 Broker、Topic 和 Partition 的元數(shù)據(jù)信息存儲(chǔ)在 Zookeeper 上。通過(guò)在 Zookeeper 上建立相應(yīng)的數(shù)據(jù)節(jié)點(diǎn),并監(jiān)聽(tīng)節(jié)點(diǎn)的變化,Kafka 使用 Zookeeper 完成以下功能:

  •  Kafka Controller 的 Leader 選舉
  •  Kafka 集群成員管理
  •  Topic 配置管理
  •  分區(qū)副本管理

我們看一看 Zookeeper 下 Kafka 創(chuàng)建的節(jié)點(diǎn),即可一目了然的看出這些相關(guān)的功能。

 

Controller

Controller 是從 Broker 中選舉出來(lái)的,負(fù)責(zé)分區(qū) Leader 和 Follower 的管理。當(dāng)某個(gè)分區(qū)的 leader 副本發(fā)生故障時(shí),由 Controller 負(fù)責(zé)為該分區(qū)選舉新的 leader 副本。當(dāng)檢測(cè)到某個(gè)分區(qū)的 ISR(In-Sync Replica)集合發(fā)生變化時(shí),由控制器負(fù)責(zé)通知所有 broker 更新其元數(shù)據(jù)信息。當(dāng)使用kafka-topics.sh腳本為某個(gè) topic 增加分區(qū)數(shù)量時(shí),同樣還是由控制器負(fù)責(zé)分區(qū)的重新分配。

Kafka 中 Contorller 的選舉的工作依賴于 Zookeeper,成功競(jìng)選為控制器的 broker 會(huì)在 Zookeeper 中創(chuàng)建/controller這個(gè)臨時(shí)(EPHEMERAL)節(jié)點(diǎn)。

選舉過(guò)程

Broker 啟動(dòng)的時(shí)候嘗試去讀取/controller節(jié)點(diǎn)的brokerid的值,如果brokerid的值不等于-1,則表明已經(jīng)有其他的 Broker 成功成為 Controller 節(jié)點(diǎn),當(dāng)前 Broker 主動(dòng)放棄競(jìng)選;如果不存在/controller節(jié)點(diǎn),或者 brokerid 數(shù)值異常,當(dāng)前 Broker 嘗試去創(chuàng)建/controller這個(gè)節(jié)點(diǎn),此時(shí)也有可能其他 broker 同時(shí)去嘗試創(chuàng)建這個(gè)節(jié)點(diǎn),只有創(chuàng)建成功的那個(gè) broker 才會(huì)成為控制器,而創(chuàng)建失敗的 broker 則表示競(jìng)選失敗。每個(gè) broker 都會(huì)在內(nèi)存中保存當(dāng)前控制器的 brokerid 值,這個(gè)值可以標(biāo)識(shí)為 activeControllerId。

實(shí)現(xiàn)

Controller 讀取 Zookeeper 中的節(jié)點(diǎn)數(shù)據(jù),初始化上下文(Controller Context),并管理節(jié)點(diǎn)變化,變更上下文,同時(shí)也需要將這些變更信息同步到其他普通的 broker 節(jié)點(diǎn)中。Controller 通過(guò)定時(shí)任務(wù),或者監(jiān)聽(tīng)器模式獲取 zookeeper 信息,事件監(jiān)聽(tīng)會(huì)更新更新上下文信息,如圖所示,Controller 內(nèi)部也采用生產(chǎn)者-消費(fèi)者實(shí)現(xiàn)模式,Controller 將 zookeeper 的變動(dòng)通過(guò)事件的方式發(fā)送給事件隊(duì)列,隊(duì)列就是一個(gè)LinkedBlockingQueue,事件消費(fèi)者線程組通過(guò)消費(fèi)消費(fèi)事件,將相應(yīng)的事件同步到各 Broker 節(jié)點(diǎn)。這種隊(duì)列 FIFO 的模式保證了消息的有序性。

職責(zé)

Controller 被選舉出來(lái),作為整個(gè) Broker 集群的管理者,管理所有的集群信息和元數(shù)據(jù)信息。它的職責(zé)包括下面幾部分:

  1.   處理 Broker 節(jié)點(diǎn)的上線和下線,包括自然下線、宕機(jī)和網(wǎng)絡(luò)不可達(dá)導(dǎo)致的集群變動(dòng),Controller 需要及時(shí)更新集群元數(shù)據(jù),并將集群變化通知到所有的 Broker 集群節(jié)點(diǎn);
  2.   創(chuàng)建 Topic 或者 Topic 擴(kuò)容分區(qū),Controller 需要負(fù)責(zé)分區(qū)副本的分配工作,并主導(dǎo) Topic 分區(qū)副本的 Leader 選舉。
  3.   管理集群中所有的副本和分區(qū)的狀態(tài)機(jī),監(jiān)聽(tīng)狀態(tài)機(jī)變化事件,并作出相應(yīng)的處理。Kafka 分區(qū)和副本數(shù)據(jù)采用狀態(tài)機(jī)的方式管理,分區(qū)和副本的變化都在狀態(tài)機(jī)內(nèi)會(huì)引起狀態(tài)機(jī)狀態(tài)的變更,從而觸發(fā)相應(yīng)的變化事件。

    “    65 哥:狀態(tài)機(jī)啊,聽(tīng)起來(lái)好復(fù)雜。    ”

Controller 管理著集群中所有副本和分區(qū)的狀態(tài)機(jī)。大家不要被狀態(tài)機(jī)這個(gè)詞唬住了。理解狀態(tài)機(jī)很簡(jiǎn)單。先理解模型,即這是什么關(guān)于什么模型,然后就是模型的狀態(tài)有哪些,模型狀態(tài)之間如何轉(zhuǎn)換,轉(zhuǎn)換時(shí)發(fā)送相應(yīng)的變化事件。

Kafka 的分區(qū)和副本狀態(tài)機(jī)很簡(jiǎn)單。我們先理解,這分別是管理 Kafka Topic 的分區(qū)和副本的。它們的狀態(tài)也很簡(jiǎn)單,就是 CRUD,具體說(shuō)來(lái)如下:

分區(qū)狀態(tài)機(jī)

PartitionStateChange,管理 Topic 的分區(qū),它有以下 4 種狀態(tài):

  1.   NonExistentPartition:該狀態(tài)表示分區(qū)沒(méi)有被創(chuàng)建過(guò)或創(chuàng)建后被刪除了。
  2.   NewPartition:分區(qū)剛創(chuàng)建后,處于這個(gè)狀態(tài)。此狀態(tài)下分區(qū)已經(jīng)分配了副本,但是還沒(méi)有選舉 leader,也沒(méi)有 ISR 列表。
  3.   OnlinePartition:一旦這個(gè)分區(qū)的 leader 被選舉出來(lái),將處于這個(gè)狀態(tài)。
  4.   OfflinePartition:當(dāng)分區(qū)的 leader 宕機(jī),轉(zhuǎn)移到這個(gè)狀態(tài)。

我們用一張圖來(lái)直觀的看看這些狀態(tài)是如何變化的,以及在狀態(tài)發(fā)生變化時(shí) Controller 都有哪些操作:

 

副本狀態(tài)機(jī)

ReplicaStateChange,副本狀態(tài),管理分區(qū)副本信息,它也有 4 種狀態(tài):

  1.  NewReplica: 創(chuàng)建 topic 和分區(qū)分配后創(chuàng)建 replicas,此時(shí),replica 只能獲取到成為 follower 狀態(tài)變化請(qǐng)求。
  2.  OnlineReplica: 當(dāng) replica 成為 parition 的 assingned replicas 時(shí),其狀態(tài)變?yōu)?OnlineReplica, 即一個(gè)有效的 OnlineReplica。
  3.  OfflineReplica: 當(dāng)一個(gè) replica 下線,進(jìn)入此狀態(tài),這一般發(fā)生在 broker 宕機(jī)的情況下;
  4.  NonExistentReplica: Replica 成功刪除后,replica 進(jìn)入 NonExistentReplica 狀態(tài)。

副本狀態(tài)間的變化如下圖所示,Controller 在狀態(tài)變化時(shí)會(huì)做出相應(yīng)的操作:

 

Network

Kafka 的網(wǎng)絡(luò)通信模型是基于 NIO 的 Reactor 多線程模型來(lái)設(shè)計(jì)的。其中包含了一個(gè)Acceptor線程,用于處理新的連接,Acceptor 有 N 個(gè) Processor 線程 select 和 read socket 請(qǐng)求,N 個(gè) Handler 線程處理請(qǐng)求并相應(yīng),即處理業(yè)務(wù)邏輯。下面就是 KafkaServer 的模型圖:

 

 

責(zé)任編輯:龐桂玉 來(lái)源: Hollis
相關(guān)推薦

2021-04-09 08:54:14

Kafka源碼架構(gòu)開(kāi)發(fā)技術(shù)

2024-10-30 10:06:51

2021-12-07 07:32:09

kafka架構(gòu)原理

2023-11-07 16:24:49

成員權(quán)限管理

2022-02-25 08:54:50

setState異步React

2021-02-20 20:51:24

工具內(nèi)核kprobe

2023-12-28 11:24:29

IO系統(tǒng)請(qǐng)求

2022-03-02 10:11:41

索引場(chǎng)景數(shù)據(jù)庫(kù)

2021-02-21 06:33:27

存儲(chǔ)引擎物聯(lián)網(wǎng)

2022-02-23 09:52:15

InnoDB數(shù)據(jù)索引

2019-09-20 08:54:38

KafkaBroker消息

2021-02-05 15:01:41

GitLinux命令

2022-09-06 08:02:32

LinuxLKRG安全

2021-03-04 08:06:17

Redis面試模型

2018-07-26 15:18:41

阿里JavaKafka架構(gòu)

2018-08-20 08:30:05

Kafka架構(gòu)系統(tǒng)

2020-03-04 08:47:10

Kafka架構(gòu)原理

2024-08-23 16:04:45

2020-09-07 11:14:02

Vue異步更新

2020-09-13 13:26:10

Kafka消費(fèi)者控制器
點(diǎn)贊
收藏

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

欧美整片在线观看| 56国语精品自产拍在线观看| 欧美一区二区三区在线免费观看| 怡红院av久久久久久久| 欧美四级在线| 99精品视频一区二区三区| 国产精品国产三级国产aⅴ浪潮| 91久久久久久久久久久久久久| 66精品视频在线观看| 欧美亚洲综合另类| 欧美激情视频免费看| 1pondo在线播放免费| 久久久噜噜噜| 欧美另类xxx| 日韩欧美黄色网址| 欧美巨大xxxx| 日韩欧美国产一区在线观看| 最近免费中文字幕中文高清百度| 日本aa在线| 国产精品女上位| 六十路精品视频| 午夜精品久久久久久久99热黄桃 | 日本精品一区二区三区四区| 成人小说亚洲一区二区三区| 日本亚洲视频在线| 96精品视频在线| 青娱乐国产在线视频| 第九色区aⅴ天堂久久香| 亚洲精品福利免费在线观看| 韩国三级丰满少妇高潮| 国产黄色一区| 日本久久电影网| 国产特级淫片高清视频| 日本大片在线播放| 一区二区日韩av| 懂色av粉嫩av蜜臀av| yourporn在线观看中文站| 26uuu成人网一区二区三区| 26uuu亚洲国产精品| 唐朝av高清盛宴| 偷偷www综合久久久久久久| 在线电影av不卡网址| 欧美成人国产精品一区二区| 天堂日韩电影| 亚洲精品久久久久久久久久久久 | 国产精品久久久久永久免费观看 | 青娱乐av在线| 欧美搞黄网站| 亚洲精品www久久久| 日韩精品在线播放视频| 国产麻豆精品| 日韩免费在线观看| 激情小说欧美色图| 日本不卡1234视频| 精品国产乱码久久久久久婷婷 | 日韩电影在线免费| 国产成人精品日本亚洲| 看黄色一级大片| 日韩电影在线免费看| 国产精品爽爽爽| 91亚洲精品国偷拍自产在线观看| 精品一区二区三区免费视频| 91嫩草在线视频| 午夜免费福利视频| 97精品久久久久中文字幕| 免费av一区二区三区| 国产一区二区影视| 国产精品区一区二区三| 青少年xxxxx性开放hg| 午夜成年人在线免费视频| 亚洲永久精品大片| 成熟了的熟妇毛茸茸| 久久毛片亚洲| 337p亚洲精品色噜噜| 免费观看黄网站| 日韩av网站在线免费观看| 亚洲视频综合网| 亚洲不卡的av| 欧美激情久久久久久久久久久| 亚洲精品www久久久久久广东| a级大片在线观看| 亚洲欧美日本国产| 亚洲国产成人久久综合一区| 天天躁日日躁aaaa视频| 99热在线成人| 91精品国产乱码久久久久久蜜臀 | 亚洲第一视频网| 欧洲美熟女乱又伦| 欧美成人首页| 国产91在线播放精品91| 国产美女自慰在线观看| 26uuu亚洲综合色欧美| 欧美日韩视频免费在线观看| av漫画网站在线观看| 在线视频欧美精品| 丰满岳乱妇一区二区| 日韩精品一区二区久久| 久久久视频在线| 中文字幕一区二区在线视频| 不卡的看片网站| 亚洲精品一品区二品区三品区| 色婷婷视频在线| 亚洲国产成人在线| 我的公把我弄高潮了视频| 欧美黑粗硬大| 国产网站欧美日韩免费精品在线观看| 国产一区二区三区视频播放| 在线午夜精品| 超碰国产精品久久国产精品99| 国产高清一区在线观看| 亚洲国产色一区| 在线观看免费不卡av| 亚洲欧美成人vr| 欧美日韩第一视频| 国产精品毛片久久久久久久av| 91网站黄www| 日韩精品一区在线视频| 成人国产精品一区二区网站| 一本色道久久88精品综合| 男人天堂中文字幕| 国产不卡在线视频| 在线观看18视频网站| 久久久久毛片| 亚洲精品www| 亚洲国产综合久久| 国产成人在线看| 久久av秘一区二区三区| 99只有精品| 一区二区在线免费视频| 日韩三级视频在线| 欧美亚洲专区| 国产在线资源一区| 欧美家庭影院| 日韩三级av在线播放| 欧美一级片在线视频| 久久国产尿小便嘘嘘| 亚洲精品高清视频| ww久久综合久中文字幕| 中文字幕亚洲欧美在线| 国产女主播喷水视频在线观看 | 天堂网在线最新版www中文网| 色婷婷综合久久久久中文| 无码国产精品久久一区免费| 中文字幕一区二区av | 日韩一级在线播放| 亚洲国产精品综合小说图片区| 无套白嫩进入乌克兰美女| 亚洲欧美偷拍自拍| av在线亚洲男人的天堂| 爱情岛论坛亚洲品质自拍视频网站| 精品免费99久久| 国产在线观看免费av| 久久精品女人| 欧美亚洲爱爱另类综合| yellow91字幕网在线| 欧美高清视频www夜色资源网| 国产天堂av在线| 国产激情视频一区二区三区欧美| 粉嫩av一区二区三区天美传媒| 中文字幕一区二区三区四区久久 | 乱熟女高潮一区二区在线| 狂野欧美xxxx韩国少妇| 国内精品久久久久| 九色蝌蚪在线| 欧美日高清视频| 久久久国产精品黄毛片| 91麻豆精品一区二区三区| 成年人在线观看视频免费| 五月婷婷六月综合| 国产精品久久久久久久免费大片| 少妇视频在线观看| 最新亚洲国产精品| 成人无码一区二区三区| 色诱亚洲精品久久久久久| 国产精品视频看看| 成人精品免费网站| 国产视频一区二区视频| 亚洲情侣在线| 欧美日韩亚洲综合一区二区三区激情在线 | 精品久久久久中文慕人妻| 午夜伦理一区二区| 永久免费毛片在线观看| 国产成人在线免费观看| 久久综合久久色| 欧美天天在线| 日韩精品欧美专区| 91麻豆精品国产91久久久久推荐资源| 97色在线观看免费视频| 秋霞a级毛片在线看| 精品福利av导航| 亚洲一卡二卡在线观看| 午夜日韩在线电影| 看免费黄色录像| www日韩大片| 欧美一级大片免费看| 日韩精彩视频在线观看| 国产成a人亚洲精v品在线观看| 沈樵精品国产成av片| 99在线国产| 亚洲精品乱码日韩| 日本久久久久久久久久久| av电影免费在线观看| 亚洲日本成人女熟在线观看| 性猛交富婆╳xxx乱大交天津| 欧美亚洲国产怡红院影院| 日本三级黄色大片| 亚洲色图欧洲色图| 久久日免费视频| 久久久久久久久久久黄色| 性欧美大战久久久久久久| 色婷婷综合网| 免费久久99精品国产自| 136福利精品导航| 92国产精品久久久久首页| 成人欧美一区二区三区的电影| 欧美人与性动交| 麻豆网在线观看| 一区二区成人av| 免费看男男www网站入口在线| 欧美r级电影在线观看| 91成人一区二区三区| 91久久奴性调教| 久久夜靖品2区| 亚洲午夜久久久久| 欧美成人三级视频| 亚洲女子a中天字幕| 91大神福利视频| 中文字幕精品一区二区三区精品 | 日本黄色一区二区三区| 欧美一区二区三区白人| 国产精品久久免费| 欧美日韩国产美女| 日本成人一级片| 欧洲亚洲国产日韩| 波多野结衣绝顶大高潮| 日韩欧美中文字幕在线观看| 超碰中文字幕在线| 欧美三级免费观看| 波多野结衣啪啪| 日本久久一区二区| 久久久久久av无码免费看大片| 在线观看视频91| 中文字幕观看视频| 欧美日韩国产在线观看| 伊人亚洲综合网| 欧美男同性恋视频网站| 国产精品视频一二区| 欧美一区二区三区小说| www.污视频| 亚洲аv电影天堂网| 色窝窝无码一区二区三区| 亚洲国产私拍精品国模在线观看| 天堂网2014av| 亚洲欧洲视频在线| www.成人.com| 欧美xxxx18性欧美| 黄页网站大全在线免费观看| 国模精品系列视频| 中文日产幕无线码一区二区| 国产成人精品在线播放| www.国产精品| 成人欧美一区二区| 91tv亚洲精品香蕉国产一区| 国产精品久久久久久av福利软件| 宅男噜噜噜66国产精品免费| 亚洲最大成人免费视频| 久久资源综合| 日韩久久久久久久| 91精品综合| 国内精品在线观看视频| 日韩影院在线观看| 先锋资源在线视频| 久久中文娱乐网| 免费啪视频在线观看| www.欧美色图| 美女100%露胸无遮挡| 自拍偷自拍亚洲精品播放| 麻豆一区二区三区精品视频| 色综合网色综合| 国产精品国产精品国产专区| 亚洲黄页网在线观看| 福利片在线观看| 欧美成在线视频| 亚洲一二三四| 91免费视频网站| 亚洲综合图色| 国产精品啪啪啪视频| 免费欧美在线| 精品人妻一区二区三| 久久久精品免费免费| 中文字幕av播放| 色88888久久久久久影院野外| 精品国产亚洲av麻豆| 一区二区三区视频观看| 后进极品白嫩翘臀在线播放| 国产在线观看精品一区二区三区| 久久视频在线观看| 先锋影音男人资源| 日韩高清一区在线| 成人区人妻精品一区二| 中文字幕一区二区三区不卡在线| 国产精品乱子伦| 日韩美女主播在线视频一区二区三区 | 日韩精品在线不卡| 欧美精品99久久久**| 日本在线视频1区| 欧美国产日本高清在线| 久久69成人| 欧美日韩一区在线观看视频| 国产精品v日韩精品v欧美精品网站| 性猛交ⅹ×××乱大交| 久久午夜电影网| 日韩一区二区视频在线| 日韩一区二区影院| 欧美一级二级三级区| 国产成人精品一区| 免费视频亚洲| av动漫在线看| 波多野结衣在线一区| 欧美日韩国产精品综合| 欧美福利一区二区| 亚洲欧美视频一区二区| 国产成人一区二区三区小说| 日日天天久久| 毛片在线视频播放| 成人免费高清视频在线观看| 成年人av电影| 欧美一级久久久久久久大片| 三级外国片在线观看视频| 国产精品爱啪在线线免费观看| 久久av影视| 亚洲中文字幕无码中文字| 99久久精品久久久久久清纯| 国产污视频在线看| 亚洲第一页自拍| av白虎一区| 精品欧美一区二区精品久久| 亚洲日本激情| 好吊色视频一区二区三区| 国产成人精品午夜视频免费| 中文字幕美女视频| 欧美精品自拍偷拍| 成人ww免费完整版在线观看| 91在线看www| 午夜欧美视频| 69亚洲乱人伦| 欧美午夜激情视频| 福利视频在线导航| 成人精品福利视频| 欧美日韩国产一区精品一区| 国产综合内射日韩久| 午夜激情一区二区| 精品视频二区| 国产精品偷伦免费视频观看的| 欧美残忍xxxx极端| 伊人精品视频在线观看| 一区二区高清在线| 性高潮久久久久久久久久| 欧美尤物巨大精品爽| blacked蜜桃精品一区| 久久男人资源站| 97精品电影院| 中文字幕自拍偷拍| 久久综合久久美利坚合众国| 一区二区三区视频播放| 青青青青草视频| 欧美激情一区二区三区| 国产区精品在线| 97人洗澡人人免费公开视频碰碰碰| 国产麻豆一区二区三区精品视频| 一二三四中文字幕| 不卡的av在线| 中文字幕 自拍偷拍| 久久99热这里只有精品国产| 免费看久久久| 亚洲一区日韩精品| 亚洲国产视频在线| 男同在线观看| 亚洲xxxxx| 国产精品入口| 波多野结衣家庭教师| 亚洲精品美女免费| 欧美xxxbbb| 欧美午夜欧美| 国产另类ts人妖一区二区| 日韩精品1区2区| 精品国内自产拍在线观看| 美女视频亚洲色图| 狠狠干狠狠操视频| 午夜a成v人精品| 国产一二三区在线观看| 国产精品视频免费在线观看| 欧美精品午夜| jizzjizzjizz国产| 日韩成人在线免费观看| 国产精品一区二区三区四区在线观看 | 欧美男女性生活在线直播观看| 无遮挡爽大片在线观看视频| 亚洲天堂av免费在线观看| 2021国产精品久久精品|