日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Kafka解析之topic创建(2)

發布時間:2024/4/11 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kafka解析之topic创建(2) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

歡迎支持筆者新作:《深入理解Kafka:核心設計與實踐原理》和《RabbitMQ實戰指南》,同時歡迎關注筆者的微信公眾號:朱小廝的博客。

歡迎跳轉到本文的原文鏈接:https://honeypps.com/mq/kafka-analysis-of-topic-creation-2/


前言

上一篇Kafka解析之topic創建(1)中的介紹了怎樣創建一個topic以及對應的replica-assignment參數的一些使用細節,本文繼續來講述一下自動分配方案的具體算法實現,包括未指定機架的分配策略和指定機架的分配策略。

承接

如果在創建topic的時候并沒有指定replica-assignment參數,那么就需要采用kafka默認的分區副本分配策略來創建topic。主要的是以下這6行代碼:

CommandLineUtils.checkRequiredArgs(opts.parser, opts.options, opts.partitionsOpt, opts.replicationFactorOpt) val partitions = opts.options.valueOf(opts.partitionsOpt).intValue val replicas = opts.options.valueOf(opts.replicationFactorOpt).intValue val rackAwareMode = if (opts.options.has(opts.disableRackAware)) RackAwareMode.Disabledelse RackAwareMode.Enforced AdminUtils.createTopic(zkUtils, topic, partitions, replicas, configs, rackAwareMode)

第一行的作用就是驗證一下執行kafka-topics.sh時參數列表中是否包含有partitions和replication-factor這兩個參數,如果沒有包含則報出:Missing required argument "[partitions]"或者Missing required argument “[replication-factor]”,并給出參數的提示信息列表。

第2-5行的作用是獲取paritions、replication-factor參數所對應的值以及驗證是否包含disable-rack-aware這個參數。從0.10.x版本開始,kafka可以支持指定broker的機架信息,如果指定了機架信息則在副本分配時會盡可能地讓分區的副本分不到不同的機架上。指定機架信息是通過kafka的配置文件config/server.properties中的broker.rack參數來配置的,比如配置當前broker所在的機架為“RACK1”:

broker.rack=RACK1

最后一行通過AdminUtils.createTopic方法來繼續創建,至此代碼流程又進入到下一個無底洞,不過暫時不用擔心,下面是這個方法的詳細內容,看上去只有幾行而已:

def createTopic(zkUtils: ZkUtils,topic: String,partitions: Int,replicationFactor: Int,topicConfig: Properties = new Properties,rackAwareMode: RackAwareMode = RackAwareMode.Enforced) {val brokerMetadatas = getBrokerMetadatas(zkUtils, rackAwareMode)val replicaAssignment = AdminUtils.assignReplicasToBrokers(brokerMetadatas, partitions, replicationFactor)AdminUtils.createOrUpdateTopicPartitionAssignmentPathInZK(zkUtils, topic, replicaAssignment, topicConfig) }

總共只有三行,最后一行還是見過的,在使用replica-assignment參數解析驗證之后調用的,主要用來在/brokers/topics路徑下寫入相應的節點。回過頭來看第一句,它是用來獲取集群中每個broker的brokerId和機架信息(Option[String]類型)信息的列表,為下面的 AdminUtils.assignReplicasToBrokers()方法做分區副本分配前的準備工作。AdminUtils.assignReplicasToBrokers()首先是做一些簡單的驗證工作:分區個數partitions不能小于等于0、副本個數replicationFactor不能小于等于0以及副本個數replicationFactor不能大于broker的節點個數,其后的步驟就是方法最重要的兩大核心:assignReplicasToBrokersRackUnaware和assignReplicasToBrokersRackAware,看這個名字也應該猜出個一二來,前者用來針對不指定機架信息的情況,而后者是用來針對指定機架信息的情況,后者更加復雜一點。

未指定機架的分配策略

為了能夠循序漸進的說明問題,這里先來講解assignReplicasToBrokersRackUnaware,對應的代碼如下:

private def assignReplicasToBrokersRackUnaware(nPartitions: Int,replicationFactor: Int,brokerList: Seq[Int],fixedStartIndex: Int,startPartitionId: Int): Map[Int, Seq[Int]] = {val ret = mutable.Map[Int, Seq[Int]]()val brokerArray = brokerList.toArrayval startIndex = if (fixedStartIndex >= 0) fixedStartIndex else rand.nextInt(brokerArray.length)var currentPartitionId = math.max(0, startPartitionId)var nextReplicaShift = if (fixedStartIndex >= 0) fixedStartIndex else rand.nextInt(brokerArray.length)for (_ <- 0 until nPartitions) {if (currentPartitionId > 0 && (currentPartitionId % brokerArray.length == 0))nextReplicaShift += 1val firstReplicaIndex = (currentPartitionId + startIndex) % brokerArray.lengthval replicaBuffer = mutable.ArrayBuffer(brokerArray(firstReplicaIndex))for (j <- 0 until replicationFactor - 1)replicaBuffer += brokerArray(replicaIndex(firstReplicaIndex, nextReplicaShift, j, brokerArray.length))ret.put(currentPartitionId, replicaBuffer)currentPartitionId += 1}ret }

主構造函數參數列表中的fixedStartIndex和startPartitionId的值是從上游AdminUtils.assignReplicasToBrokers()方法調用傳下來,都是-1,分別表示第一個副本分配的位置和起始分區編號。assignReplicasToBrokers這個方法的核心是遍歷每個分區partition然后從brokerArray(brokerId的列表)中選取replicationFactor個brokerId分配給這個partition。

方法首先創建一個可變的Map用來存放本方法將要返回的結果,即分區partition和分配副本的映射關系。由于fixedStartIndex為-1,所以startIndex是一個隨機數,用來計算一個起始分配的brokerId,同時由于startPartitionId為-1,所以currentPartitionId的值為0,可見默認創建topic時總是從編號為0的分區依次輪詢進行分配。nextReplicaShift表示下一次副本分配相對于前一次分配的位移量,這個字面上理解有點繞,不如舉個例子:假設集群中有3個broker節點,即代碼中的brokerArray,創建某topic有3個副本和6個分區,那么首先從partitionId(partition的編號)為0的分區開始進行分配,假設第一次計算(由rand.nextInt(brokerArray.length)隨機)到nextReplicaShift為1,第一次隨機到的startIndex為2,那么partitionId為0的第一個副本的位置(這里指的是brokerArray的數組下標)firstReplicaIndex = (currentPartitionId + startIndex) % brokerArray.length = (0+2)%3 = 2,第二個副本的位置為replicaIndex(firstReplicaIndex, nextReplicaShift, j, brokerArray.length) = replicaIndex(2, nextReplicaShift+1,0, 3)=?,這里引入了一個新的方法replicaIndex,不過這個方法很簡單,具體如下:

private def replicaIndex(firstReplicaIndex: Int, secondReplicaShift: Int, replicaIndex: Int, nBrokers: Int): Int = {val shift = 1 + (secondReplicaShift + replicaIndex) % (nBrokers - 1)(firstReplicaIndex + shift) % nBrokers }

繼續計算 replicaIndex(2, nextReplicaShift+1,0, 3) = replicaIndex(2, 2,0, 3)= (2+(1+(2+0)%(3-1)))%3=0。繼續計算下一個副本的位置replicaIndex(2, 2,1, 3) = (2+(1+(2+1)%(3-1)))%3=1。所以partitionId為0的副本分配位置列表為[2,0,1],如果brokerArray正好是從0開始編號,也正好是順序不間斷的,即brokerArray為[0,1,2]的話,那么當前partitionId為0的副本分配策略為[2,0,1]。如果brokerId不是從零開始,也不是順序的(有可能之前集群的其中broker幾個下線了),最終的brokerArray為[2,5,8],那么partitionId為0的分區的副本分配策略為[8,2,5]。為了便于說明問題,可以簡單的假設brokerArray就是[0,1,2]。

同樣計算下一個分區,即partitionId為1的副本分配策略。此時nextReplicaShift還是為2,沒有滿足自增的條件。這個分區的firstReplicaIndex = (1+2)%3=0。第二個副本的位置replicaIndex(0,2,0,3) = (0+(1+(2+0)%(3-1)))%3 = 1,第三個副本的位置replicaIndex(0,2,1,3) = 2,最終partitionId為2的分區分配策略為[0,1,2]。

以此類推,更多的分配細節可以參考下面的demo,topic-test4的分區分配策略和上面陳述的一致:

[root@node3 kafka_2.12-1.0.0]# bin/kafka-topics.sh --create --zookeeper 192.168.0.2:2181/kafka100 --topic topic-test4 --replication-factor 3 --partitions 6 Created topic "topic-test4". [root@node3 kafka_2.12-1.0.0]# bin/kafka-topics.sh --describe --zookeeper 192.168.0.2:2181/kafka100 --topic topic-test4 Topic:topic-test4 PartitionCount:6 ReplicationFactor:3 Configs:Topic: topic-test4 Partition: 0 Leader: 2 Replicas: 2,0,1 Isr: 2,0,1Topic: topic-test4 Partition: 1 Leader: 0 Replicas: 0,1,2 Isr: 0,1,2Topic: topic-test4 Partition: 2 Leader: 1 Replicas: 1,2,0 Isr: 1,2,0Topic: topic-test4 Partition: 3 Leader: 2 Replicas: 2,1,0 Isr: 2,1,0Topic: topic-test4 Partition: 4 Leader: 0 Replicas: 0,2,1 Isr: 0,2,1Topic: topic-test4 Partition: 5 Leader: 1 Replicas: 1,0,2 Isr: 1,0,2

我們無法預先獲知startIndex和nextReplicaShift的值,因為都是隨機產生的。startIndex和nextReplicaShift的值可以通過最終的分區分配方案來反推,比如上面的topic-test4,第一個分區(即partitionId=0的分區)的第一個副本為2,那么可由2 = (0+startIndex)%3推斷出startIndex為2。之所以startIndex隨機是因為這樣可以在多個topic的情況下盡可能的均勻分布分區副本,如果這里固定為一個特定值,那么每次的第一個副本都是在這個broker上,進而就會導致少數幾個broker所分配到的分區副本過多而其余broker分配到的過少,最終導致負載不均衡。尤其是某些topic的副本數和分區數都比較少,甚至都為1的情況下,所有的副本都落到了那個指定的broker上。與此同時,在分配時位移量nextReplicaShift也可以更好的使得分區副本分配的更加均勻。

指定機架的分配策略

下面我們再來看一下指定機架信息的副本分配情況,即方法assignReplicasToBrokersRackAware,注意assignReplicasToBrokersRackUnaware的執行前提是所有的broker都沒有配置機架信息,而assignReplicasToBrokersRackAware的執行前提是所有的broker都配置了機架信息,如果出現部分broker配置了機架信息而另一部分沒有配置的話,則會拋出AdminOperationException的異常,如果還想要順利創建topic的話,此時需加上“–disable-rack-aware”,詳細demo如下:

[root@node2 kafka_2.12-1.0.0]# bin/kafka-topics.sh --create --zookeeper 192.168.0.2:2181/kafka100 --topic topic-test5 --replication-factor 2 --partitions 4 Error while executing topic command : Not all brokers have rack information. Add --disable-rack-aware in command line to make replica assignment without rack information. [2018-02-06 00:19:07,213] ERROR kafka.admin.AdminOperationException: Not all brokers have rack information. Add --disable-rack-aware in command line to make replica assignment without rack information.at kafka.admin.AdminUtils$.getBrokerMetadatas(AdminUtils.scala:443)at kafka.admin.AdminUtils$.createTopic(AdminUtils.scala:461)at kafka.admin.TopicCommand$.createTopic(TopicCommand.scala:110)at kafka.admin.TopicCommand$.main(TopicCommand.scala:63)at kafka.admin.TopicCommand.main(TopicCommand.scala)(kafka.admin.TopicCommand$) [root@node2 kafka_2.12-1.0.0]# bin/kafka-topics.sh --create --zookeeper 192.168.0.2:2181/kafka100 --topic topic-test5 --replication-factor 2 --partitions 4 --disable-rack-aware Created topic "topic-test5". [root@node2 kafka_2.12-1.0.0]#

assignReplicasToBrokersRackAware方法的詳細內容如下,這段代碼內容偏多,僅供參考,看得辣眼睛的小伙伴可以習慣性的忽略,后面會做詳細的文字介紹。

private def assignReplicasToBrokersRackAware(nPartitions: Int,replicationFactor: Int,brokerMetadatas: Seq[BrokerMetadata],fixedStartIndex: Int,startPartitionId: Int): Map[Int, Seq[Int]] = {val brokerRackMap = brokerMetadatas.collect { case BrokerMetadata(id, Some(rack)) =>id -> rack}.toMapval numRacks = brokerRackMap.values.toSet.size//統計機架個數val arrangedBrokerList = getRackAlternatedBrokerList(brokerRackMap)//基于機架信息生成一個Broker列表,不同機架上的Broker交替出現val numBrokers = arrangedBrokerList.sizeval ret = mutable.Map[Int, Seq[Int]]()val startIndex = if (fixedStartIndex >= 0) fixedStartIndex else rand.nextInt(arrangedBrokerList.size)var currentPartitionId = math.max(0, startPartitionId)var nextReplicaShift = if (fixedStartIndex >= 0) fixedStartIndex else rand.nextInt(arrangedBrokerList.size)for (_ <- 0 until nPartitions) {if (currentPartitionId > 0 && (currentPartitionId % arrangedBrokerList.size == 0))nextReplicaShift += 1val firstReplicaIndex = (currentPartitionId + startIndex) % arrangedBrokerList.sizeval leader = arrangedBrokerList(firstReplicaIndex)val replicaBuffer = mutable.ArrayBuffer(leader)//每個分區的副本分配列表val racksWithReplicas = mutable.Set(brokerRackMap(leader))//每個分區中所分配的機架的列表集val brokersWithReplicas = mutable.Set(leader)//每個分區所分配的brokerId的列表集,和racksWithReplicas一起用來做一層篩選處理var k = 0for (_ <- 0 until replicationFactor - 1) {var done = falsewhile (!done) {val broker = arrangedBrokerList(replicaIndex(firstReplicaIndex, nextReplicaShift * numRacks, k, arrangedBrokerList.size))val rack = brokerRackMap(broker)if ((!racksWithReplicas.contains(rack) || racksWithReplicas.size == numRacks)&& (!brokersWithReplicas.contains(broker) || brokersWithReplicas.size == numBrokers)) {replicaBuffer += brokerracksWithReplicas += rackbrokersWithReplicas += brokerdone = true}k += 1}}ret.put(currentPartitionId, replicaBuffer)currentPartitionId += 1}ret }

第一步獲得brokerId和rack信息的映射關系列表brokerRackMap ,之后調用getRackAlternatedBrokerList()方法對brokerRackMap做進一步的處理生成一個brokerId的列表,這么解釋比較拗口,不如舉個demo。假設目前有3個機架rack1、rack2和rack3,以及9個broker,分別對應關系如下:

rack1: 0, 1, 2 rack2: 3, 4, 5 rack3: 6, 7, 8

那么經過getRackAlternatedBrokerList()方法處理過后就變成了[0, 3, 6, 1, 4, 7, 2, 5, 8]這樣一個列表,顯而易見的這是輪詢各個機架上的broker而產生的,之后你可以簡單的將這個列表看成是brokerId的列表,對應assignReplicasToBrokersRackUnaware()方法中的brokerArray,但是其中包含了簡單的機架分配信息。之后的步驟也和未指定機架信息的算法類似,同樣包含startIndex、currentPartiionId, nextReplicaShift的概念,循環為每一個分區分配副本。分配副本時處理第一個副本之外,其余的也調用replicaIndex方法來獲得一個broker,但是這里和assignReplicasToBrokersRackUnaware()不同的是,這里不是簡單的將這個broker添加到當前分區的副本列表之中,還要經過一層的篩選,滿足以下任意一個條件的broker不能被添加到當前分區的副本列表之中:

  • 如果此broker所在的機架中已經存在一個broker擁有該分區的副本,并且還有其他的機架中沒有任何一個broker擁有該分區的副本。對應代碼中的(!racksWithReplicas.contains(rack) || racksWithReplicas.size == numRacks)
  • 如果此broker中已經擁有該分區的副本,并且還有其他broker中沒有該分區的副本。對應代碼中的(!brokersWithReplicas.contains(broker) || brokersWithReplicas.size == numBrokers))
  • 無論是帶機架信息的策略還是不帶機架信息的策略,上層調用方法AdminUtils.assignReplicasToBrokers()最后都是獲得一個[Int, Seq[Int]]類型的副本分配列表,其最后作為kafka zookeeper節點/brokers/topics/{topic-name}節點數據。至此kafka的topic創建就講解完了,有些同學會感到很疑問,全文通篇(包括上一篇)都是在講述如何分配副本,最后得到的也不過是個分配的方案,并沒有真正創建這些副本的環節,其實這個觀點沒有任何問題,對于通過kafka提供的kafka-topics.sh腳本創建topic的方法來說,它只是提供一個副本的分配方案,并在kafka zookeeper中創建相應的節點而已。kafka broker的服務會注冊監聽/brokers/topics/目錄下是否有節點變化,如果有新節點創建就會監聽到,然后根據其節點中的數據(即topic的分區副本分配方案)來創建對應的副本,具體的細節筆者會在后面的副本管理中有詳細介紹。

    既然整個kafka-topics.sh腳本的作用就只是創建一個zookeeper的節點,并且寫上一些分配的方案數據而已,那么我們直接創建一個zookeeper節點來創建一個topic可不可以呢?答案是可以的。在開啟的kafka broker的情況下(如果未開啟kafka服務的情況下創建zk節點的話,待kafka啟動之后是不會再創建實際副本的,只有watch到當前通知才可以),通過zkCli創建一個與topic-test1副本分配方案相同的topic-test6,詳細如下:

    [zk: localhost:2181(CONNECTED) 8] create /kafka100/brokers/topics/topic-test6 {"version":1,"partitions":{"2":[0,1],"1":[1,0],"3":[1,0],"0":[0,1]}} Created /kafka100/brokers/topics/topic-test6

    這里再來進一步check下topic-test1和topic-test6是否完全相同:

    [root@node1 kafka_2.12-1.0.0]# bin/kafka-topics.sh --describe --zookeeper 192.168.0.2:2181/kafka100 --topic topic-test1,topic-test6 Topic:topic-test1 PartitionCount:4 ReplicationFactor:2 Configs:Topic: topic-test1 Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1Topic: topic-test1 Partition: 1 Leader: 1 Replicas: 1,0 Isr: 1,0Topic: topic-test1 Partition: 2 Leader: 0 Replicas: 0,1 Isr: 0,1Topic: topic-test1 Partition: 3 Leader: 1 Replicas: 1,0 Isr: 1,0 Topic:topic-test6 PartitionCount:4 ReplicationFactor:2 Configs:Topic: topic-test6 Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1Topic: topic-test6 Partition: 1 Leader: 1 Replicas: 1,0 Isr: 1,0Topic: topic-test6 Partition: 2 Leader: 0 Replicas: 0,1 Isr: 0,1Topic: topic-test6 Partition: 3 Leader: 1 Replicas: 1,0 Isr: 1,0

    答案顯而易見。前面的篇幅也提到了通過kafka-topics.sh腳本的創建方式會對副本的分配有大堆的合格性的校驗,但是直接創建zk節點的方式沒有這些校驗,比如創建一個topic-test7,這個topic節點的數據為:{“version”:1,“partitions”:{“2”:[0,1],“1”:[1],“3”:[1,0],“0”:[0,1]}},可以看出paritionId為1的分區只有一個副本,我們來檢測下是否創建成功:

    [root@node1 kafka_2.12-1.0.0]# bin/kafka-topics.sh --describe --zookeeper 192.168.0.2:2181/kafka100 --topic topic-test7 Topic:topic-test7 PartitionCount:4 ReplicationFactor:2 Configs:Topic: topic-test7 Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1Topic: topic-test7 Partition: 1 Leader: 1 Replicas: 1 Isr: 1Topic: topic-test7 Partition: 2 Leader: 0 Replicas: 0,1 Isr: 0,1Topic: topic-test7 Partition: 3 Leader: 1 Replicas: 1,0 Isr: 1,0

    結果也是顯而易見的,不過如果沒有特殊需求不宜用這種方式,這種方式把控不好就像斷了線的風箏一樣難以把控。如果又不想用auto.create.topics.enable=true的這種方式,也不想用kafka-topics.sh的這種方式,就像用類似java的編程語言在代碼中內嵌創建topic,以便更好的與公司內部的系統結合怎么辦?

    我們上篇文章中知道kafka-topics.sh內部就是調用了一下kafka.admin.TopicCommand而已,那么我們也調用一下這個可不可以?Of course,下面舉一個簡單的demo,創建一個副本數為2,分區數為4的topic-test8:

    public class CreateTopicDemo {public static void main(String[] args) {//demo: 創建一個副本數為2,分區數為4的主題:topic-test8String[] options = new String[]{"--create","--zookeeper","192.168.0.2:2181/kafka100","--replication-factor", "2","--partitions", "4","--topic", "topic-test8"};kafka.admin.TopicCommand.main(options);} }

    可以看到這種方式和kafka-topics.sh的方式如出一轍,可以用這種方式繼承到自動化系統中以創建topic,當然對于topic的刪、改、查等都可以通過這種方法來實現,具體的篇幅限制就不一一細表了。

    有關kafka的topic的創建細節其實并沒有介紹完全,比如create.topic.policy.class.name參數的具體含義與用法,這個會在后面介紹KafkaApis的時候再做具體的介紹,所以為了不迷路,為了漲知識不如關注一波公眾號,然后watch。。。

    歡迎跳轉到本文的原文鏈接:https://honeypps.com/mq/kafka-analysis-of-topic-creation-2/


    歡迎支持筆者新作:《深入理解Kafka:核心設計與實踐原理》和《RabbitMQ實戰指南》,同時歡迎關注筆者的微信公眾號:朱小廝的博客。


    總結

    以上是生活随笔為你收集整理的Kafka解析之topic创建(2)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    91精品国产三级a在线观看 | 色综合天天在线 | 精品美女久久久久 | 久久综合九色综合久久久精品综合 | 国产美女网站在线观看 | 久久人人爽人人人人片 | 国产 日韩 中文字幕 | 国产视频综合在线 | 国产精品毛片网 | 激情电影在线观看 | 手机看国产毛片 | 精品美女国产在线 | 欧美 日韩 国产 中文字幕 | 黄av免费在线观看 | 久草a在线 | 中文字幕在 | 久久国产精品久久精品国产演员表 | 97在线观看视频国产 | 欧美日韩精品电影 | 精品国产精品久久一区免费式 | 色小说av| 免费观看视频的网站 | 国产精品久久久久久久久久妇女 | 婷婷综合网 | 日本不卡123区 | 欧洲亚洲国产视频 | 蜜臀一区二区三区精品免费视频 | 国产视频一区二区在线观看 | 999成人精品| 日韩激情视频在线观看 | 人人舔人人爽 | 国产精品自产拍在线观看网站 | 国产高清视频免费观看 | 狠狠狠综合 | 黄色一级影院 | 久久亚洲精品国产亚洲老地址 | 欧美一级性视频 | 在线中文字幕电影 | 久久免费公开视频 | 精品久久久久久电影 | 国产精品尤物 | 成人免费91 | 日韩综合第一页 | 亚洲精品综合一二三区在线观看 | 一级做a视频 | 久久久久久久久久久综合 | 一区二区亚洲精品 | 九色免费视频 | 日本久久综合视频 | 天天干,天天插 | 黄色片网站 | 五月激情六月丁香 | 国产福利精品视频 | 亚洲美女在线国产 | 国产精品嫩草影视久久久 | 国产精品女人久久久 | 亚洲 精品在线视频 | 国产理论在线 | 狠狠操天天射 | 正在播放一区 | 国产小视频免费在线网址 | 91精品看片| 久草视频免费在线播放 | 天天综合网在线 | 免费美女av | 国模精品在线 | 狠狠色噜噜狠狠狠狠2021天天 | 777久久久 | 香蕉精品视频在线观看 | 日韩在线欧美在线 | 亚洲精品白浆高清久久久久久 | 欧美色图视频一区 | 国产精品视频99 | 日本精品视频网站 | 五月天天色 | 激情影音先锋 | 久久日韩精品 | 日韩免费观看一区二区三区 | 毛片黄色一级 | 中文字幕久久久精品 | 九九九在线 | 亚洲欧洲一区二区在线观看 | 99免费看片 | 九色琪琪久久综合网天天 | 波多野结衣视频一区二区三区 | 91女神的呻吟细腰翘臀美女 | 91av在线免费观看 | 91免费视频网站在线观看 | 五月天堂色| 福利视频午夜 | 天天操天天摸天天爽 | 国产高清成人 | av三级av| 国产免费不卡av | 日韩a在线 | 麻豆手机在线 | 激情综合色播五月 | www色综合 | 亚洲精品xx| 成人精品国产 | 欧美精品久久久久久久久久丰满 | 91片黄在线观 | 欧美一二在线 | 成人午夜电影网 | 一级片免费视频 | 成人蜜桃网 | 日本中文字幕在线电影 | 日日夜夜天天人人 | 精品国内| 91天天操 | 久久久久亚洲最大xxxx | 日韩久久网站 | 中文字幕亚洲精品日韩 | 免费观看性生交大片3 | 日韩系列 | 国产成人福利在线观看 | 日韩精选在线 | 麻豆影视网站 | 999久久国精品免费观看网站 | 亚洲成人免费 | 欧美精品免费在线 | 4p变态网欧美系列 | 亚洲一级黄色av | 97超碰香蕉 | 韩国av免费观看 | 国产成人精品国内自产拍免费看 | 碰超人人| 狠狠色狠狠色综合日日92 | 免费看黄20分钟 | 色在线中文字幕 | 国语黄色片 | 99中文字幕在线观看 | 国产一区二区在线视频观看 | 久久黄色影视 | 国产精品久久久久一区 | 超碰在线人人97 | 久久精品免费观看 | 五月开心激情 | 成人福利在线播放 | 国产一区在线免费 | 日韩精品资源 | 久久99九九99精品 | 激情婷婷欧美 | 欧美精品xxx | 国产网站色 | 欧美精品久久久久久久久久 | 中文字幕在线观看视频一区二区三区 | 黄色一区二区在线观看 | 成人久久国产 | 日韩一区在线播放 | 国产精品免费一区二区三区在线观看 | 久久你懂的 | 99激情网 | 深夜国产福利 | 999久久久久久久久久久 | 久久久久国产精品一区 | 日韩欧美网址 | 亚洲波多野结衣 | 国产精品久久久久av免费 | 亚洲高清视频一区二区三区 | 国内毛片毛片 | 国产首页 | 国产精品99久久久久久小说 | 91在线精品秘密一区二区 | 亚洲综合五月 | 亚洲欧美日韩一级 | 在线a亚洲视频播放在线观看 | 亚洲精品视频在线 | 精品国产aⅴ一区二区三区 在线直播av | 国产精品久久久久一区二区三区共 | 免费午夜视频在线观看 | 1024手机在线看 | 丁香婷婷深情五月亚洲 | 成人午夜网址 | 国产精品一区二区中文字幕 | 免费av网站在线 | 免费在线播放视频 | 欧美性久久久久久 | 91麻豆.com| 欧美五月婷婷 | 久久综合网色—综合色88 | 久久免费视频在线 | 日韩免费二区 | 国产91精品久久久久 | av网站地址| 精品国产视频在线 | 在线观看视频h | 欧美一区日韩精品 | 在线免费看片 | 久久精品亚洲一区二区三区观看模式 | 免费看一级黄色大全 | 粉嫩一区二区三区粉嫩91 | 婷婷性综合 | av电影中文| 亚洲天堂精品 | 国产高清免费在线观看 | 人人射人人澡 | 欧美国产不卡 | 亚洲黄色片在线 | 国产涩涩网站 | 精品福利视频在线观看 | 天天干视频在线 | 91视频com| 亚洲第一中文字幕 | 综合久久一本 | 精品视频久久久 | 中文免费观看 | 天天综合中文 | 精品99免费| 美女av免费看 | 国产字幕在线观看 | 99精品久久久久久久 | 98涩涩国产露脸精品国产网 | 特级免费毛片 | 91福利影院在线观看 | 国产精品毛片完整版 | 国产色综合 | 久久久资源 | 久福利| 日韩理论电影网 | 日韩欧美国产免费播放 | 久久久99精品免费观看app | 国产91丝袜在线播放动漫 | 欧美日韩一级久久久久久免费看 | 在线日韩一区 | 久草电影网 | 中文字幕在线一区观看 | 色妞色视频一区二区三区四区 | 国产精品婷婷午夜在线观看 | 日韩中文字幕91 | 93久久精品日日躁夜夜躁欧美 | 精品高清美女精品国产区 | 高清av中文在线字幕观看1 | 国产精品第10页 | 亚洲精品18p | 欧美爽爽爽 | 91麻豆精品国产91久久久久久 | 伊人五月天综合 | 国产精品久久久久国产精品日日 | 国产精品一区二区三区在线播放 | 婷婷婷国产在线视频 | 国产超碰在线 | 国产精品久久伊人 | 8x8x在线观看视频 | 国产一级视频免费看 | 免费看黄在线网站 | 色丁香久久 | 91精品国产九九九久久久亚洲 | 欧美成年人在线视频 | 日韩精品免费一区二区三区 | 一区二区三区免费网站 | 综合久久精品 | 久久男人影院 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 国产精品成久久久久三级 | 午夜在线日韩 | 91久久丝袜国产露脸动漫 | 超碰国产在线观看 | 久久久2o19精品 | 国产日韩精品在线观看 | 成人黄色在线观看视频 | 久久人人97超碰com | 欧美一级小视频 | 六月色婷 | 中文字幕影视 | 久久视了 | 91最新视频在线观看 | 久久久久区 | 国产涩涩在线观看 | 五月天激情在线 | www久久久 | 久草视频在线资源 | 亚洲小视频在线观看 | 久久老司机精品视频 | 麻豆传媒电影在线观看 | 色婷婷狠 | 久久国语露脸国产精品电影 | 亚洲一区视频免费观看 | 免费高清在线观看电视网站 | 97在线视频免费 | 在线观看一| 欧美性性网 | 91久久黄色| 日本久久高清视频 | 韩国一区二区三区在线观看 | 香蕉成人在线视频 | 婷婷久久精品 | av免费黄色| 91人人射 | 很黄很污的视频网站 | 色综合久久66 | 久久免费黄色 | 国产va精品免费观看 | 欧美三级免费 | 国产一级视频在线免费观看 | 一本一本久久a久久 | 国产精品成人自产拍在线观看 | 免费观看一区二区三区视频 | 在线免费国产视频 | 91女子私密保健养生少妇 | 日韩亚洲在线 | 在线中文字母电影观看 | 日韩免费高清在线 | 国产日韩欧美在线观看 | 亚洲一一在线 | 欧美乱熟臀69xxxxxx | av中文字幕在线看 | 久久无码av一区二区三区电影网 | 免费日韩 精品中文字幕视频在线 | 国产青春久久久国产毛片 | 色综合久久久久 | 国产在线无 | 深夜免费小视频 | 黄色av在 | 九草在线视频 | 精品久久影院 | 91.麻豆视频 | 97成人在线观看 | 热久久99这里有精品 | 精品亚洲网 | 免费一级黄色 | 天天操天 | 久久亚洲欧美日韩精品专区 | 91视频91自拍| 久久久久久免费视频 | 日韩一区二区在线免费观看 | 国内成人av | 国产婷婷vvvv激情久 | 久久精品电影院 | 在线观看国产麻豆 | 国产精品 9999 | 摸阴视频| 91九色蝌蚪视频 | 一区二区精品视频 | 久久精品一区二区三区中文字幕 | 顶级欧美色妇4khd | 91在线入口 | 手机av在线不卡 | 久热香蕉视频 | 激情综合五月网 | 香蕉日日 | 日韩精品久久久免费观看夜色 | 亚洲国产中文字幕在线 | 激情欧美一区二区三区 | 国产精品原创在线 | 成人av资源网站 | 中文字幕av免费 | 国产人在线成免费视频 | 国产精品久久9 | 国产视频中文字幕在线观看 | 久久精品国产第一区二区三区 | 日韩欧美在线视频一区二区三区 | 色婷婷一区 | 久久久久国产成人免费精品免费 | 在线天堂亚洲 | 国产精品欧美 | 天天干天天拍天天操天天拍 | 美女久久久久久久久久久 | 日韩精品最新在线观看 | 久久tv| 人人爽人人澡 | 免费在线观看av网站 | 国产高清在线视频 | 亚洲精品天天 | 999免费视频 | 黄色免费观看 | 国产一区二区在线播放视频 | 中文久久精品 | 日韩精品一区二区免费视频 | 午夜在线国产 | 99热国产在线中文 | 亚洲第一成网站 | 国产精品成久久久久 | 激情小说久久 | 国产精品免费一区二区 | 9在线观看免费 | 特级黄色视频毛片 | 人人爽人人做 | 天天射天天干天天爽 | 欧美性大战久久久久 | 午夜精品一区二区三区在线观看 | 日韩三级成人 | 操处女逼 | 91成人免费 | zzijzzij日本成熟少妇 | 中文字幕亚洲高清 | 超碰99在线| 欧美 国产 视频 | 精品1区2区| 日韩精品欧美专区 | www国产亚洲精品久久麻豆 | 欧美激情视频一区二区三区免费 | 狠狠色丁香久久婷婷综合_中 | 久久人人爽人人爽人人片 | 久久理论影院 | 久久精品www人人爽人人 | 操操色| 国产a免费 | 国产精品久久久久一区二区三区 | 国产日韩欧美在线观看视频 | 97网站| 国产成人精品一区二区在线 | 麻豆精品视频在线观看免费 | 国产麻豆剧果冻传媒视频播放量 | 欧美成人基地 | 国产精品久久久久久久久久三级 | 国产成人精品一区二区三区在线观看 | 亚洲国产精品99久久久久久久久 | 操操操干干干 | 成人黄色中文字幕 | 精品国模一区二区三区 | 亚洲不卡av一区二区三区 | 日韩精品高清不卡 | 五月香视频在线观看 | 精品国产自在精品国产精野外直播 | 日韩精品免费在线观看 | 欧美成人a在线 | 玖玖综合网 | 亚洲精品国偷自产在线91正片 | 九九精品视频在线观看 | 99爱在线 | 婷婷在线色 | 欧美另类性 | 日日干精品 | 亚洲91在线 | 在线观看欧美成人 | 91大神dom调教在线观看 | 操操综合 | 91麻豆视频网站 | 91在线蜜桃臀 | 最新av在线免费观看 | 在线观看免费中文字幕 | 成人动图| 久久免费黄色网址 | 五月激情电影 | 91成人网页版 | 色在线高清 | 国产一区二区精品久久 | 久久久久久久久免费视频 | 亚洲精品电影在线 | 不卡电影一区二区三区 | 日韩在线观看视频中文字幕 | 韩国精品福利一区二区三区 | 国产精品一区二区久久 | 菠萝菠萝在线精品视频 | 香蕉视频一级 | 婷婷丁香狠狠爱 | .国产精品成人自产拍在线观看6 | 亚洲免费在线观看视频 | 在线看的毛片 | 日韩一区二区三区在线观看 | 久草国产在线观看 | 国产精品青青 | 91爱爱视频 | 色亚洲网| 久久久性 | 成人久久18免费网站 | 深爱激情五月综合 | 麻豆影视在线观看 | 亚洲自拍偷拍色图 | 国产999免费视频 | 欧美激情视频一二三区 | 制服丝袜亚洲 | 丁香六月婷婷开心 | 久久曰视频 | 日韩精品欧美专区 | 一区二区精品视频 | 午夜视频导航 | 国产成人精品一区二区三区福利 | 91精品久久香蕉国产线看观看 | 久久久天天操 | 依人成人综合网 | 99热最新网址 | av东方在线| 成人 亚洲 欧美 | 激情久久影院 | 91亚色视频在线观看 | 四虎成人精品永久免费av九九 | 久久蜜臀一区二区三区av | 美女福利视频在线 | 亚洲国产精品人久久电影 | 精品国自产在线观看 | 久香蕉 | 国产精品高清在线观看 | 激情av综合| 二区三区视频 | 亚洲精品乱码久久久久久写真 | 欧美一二区在线 | 在线精品国产 | 国产精品黄网站在线观看 | 亚洲精品国产精品国自产在线 | 久久激情视频免费观看 | 在线观看精品视频 | 菠萝菠萝蜜在线播放 | 国产一区二区三区四区在线 | 亚洲国产成人久久综合 | 国产伦精品一区二区三区… | 日韩三区在线 | 18网站在线观看 | 国产少妇在线观看 | 精品国产成人av | 青青河边草手机免费 | 免费三级黄色 | 亚洲九九爱 | 骄小bbw搡bbbb揉bbbb | 在线观看午夜av | 成人黄色大片 | 免费日韩一区 | 麻豆视频免费播放 | 成人久久18免费网站麻豆 | 高清不卡一区二区在线 | 成人欧美亚洲 | 色中文字幕在线观看 | 一区二区三区av在线 | 国产免费久久精品 | 日韩精品观看 | 国产18精品乱码免费看 | 中文字幕亚洲不卡 | 涩涩爱夜夜爱 | 国产精品国产三级国产不产一地 | av高清网站在线观看 | 欧美做受高潮 | 久草在线手机视频 | 成人在线一区二区 | 狠狠色噜噜狠狠 | 在线观看中文字幕dvd播放 | 欧美日韩性视频 | 高清国产一区 | 日韩av在线免费看 | 在线观看aaa| 亚洲黄色免费在线 | 日韩在线观看网站 | 久久99日韩 | 综合伊人久久 | 天天干天天操天天搞 | av888av.com| 久久国产精品99久久久久久老狼 | 亚洲综合欧美日韩狠狠色 | 91香蕉视频色版 | 日韩理论电影网 | 国产一区二区三区免费在线观看 | 国产一级性生活视频 | 久久 亚洲视频 | 国产精品久久一 | 99视频网站 | 黄色综合 | 久久xx视频 | 91传媒视频在线观看 | 婷婷丁香社区 | 日韩欧美精品一区 | 91精品国产综合久久福利 | 四虎成人精品在永久免费 | 国产自产高清不卡 | 在线91av| 午夜精品视频在线 | 色在线视频 | 四虎成人在线 | 一二三区在线 | 91精品国产一区二区三区 | 91精品一区在线观看 | 色婷婷av在线 | 黄在线免费观看 | 日韩在线观看a | 人人澡av | 国产一级在线观看 | 成人一区不卡 | 91色一区二区三区 | 亚洲精品国产精品国自产在线 | 在线亚州 | 中文字幕av在线免费 | 天天操天天舔天天爽 | 麻豆精品传媒视频 | 国产精品成人在线 | 色先锋资源网 | 麻豆91精品91久久久 | 久久久久久久久久久久久国产精品 | 在线视频日韩欧美 | 日韩电影在线一区二区 | 亚洲视频网站在线观看 | 精品一区二区三区久久 | 色欧美88888久久久久久影院 | 2023年中文无字幕文字 | 日批视频在线观看免费 | 最近字幕在线观看第一季 | 中文在线天堂资源 | 天天撸夜夜操 | 久久久久久久久久久福利 | 91视频午夜 | 精品国产乱码 | 久久免费一级片 | 成人av影视在线 | 夜又临在线观看 | 久久综合色8888 | 黄网站色视频免费观看 | 综合精品久久久 | 久久激情网站 | 国产大尺度视频 | 日韩在线欧美在线 | 国产高清在线 | 精品国产乱码久久久久久三级人 | 91免费日韩| 亚洲一级免费观看 | 午夜精品视频一区二区三区在线看 | 波多野结衣视频一区 | 在线视频观看国产 | 国产免费资源 | av中文字幕第一页 | 91高清免费在线观看 | 亚洲资源网 | 最新国产精品久久精品 | 亚洲色图美腿丝袜 | 狠狠色狠狠色综合日日92 | 午夜av网站 | 亚洲 中文 欧美 日韩vr 在线 | 国产 视频 久久 | 五月天六月丁香 | 免费av在线网站 | 97视频免费观看 | 亚洲 av网站| 精品国产福利在线 | 激情综合色综合久久 | 成人在线播放免费观看 | 国产网站色 | 久久久久久高潮国产精品视 | 久久久久免费观看 | 在线国产能看的 | 中文字幕色站 | 欧美成人按摩 | 91女子私密保健养生少妇 | 国产高清区 | 91色影院| 一区二精品 | 天天射,天天干 | 麻豆国产精品一区二区三区 | 色www免费视频 | 日韩v欧美v日本v亚洲v国产v | 亚洲黄色精品 | 永久免费在线 | 国产精品福利视频 | 欧洲亚洲国产视频 | 啪啪免费观看网站 | 国产高清免费在线播放 | 午夜av免费在线观看 | 国产一区私人高清影院 | 香蕉视频在线网站 | 天天射综合网站 | 激情视频在线观看网址 | 久久久久久久99 | 美女久久99| 又紧又大又爽精品一区二区 | 51久久成人国产精品麻豆 | 美女久久 | 日韩精品久久久 | 五月天欧美精品 | 少妇性bbb搡bbb爽爽爽欧美 | 国产女人40精品一区毛片视频 | 免费网址你懂的 | 国产对白av | 久久久久久久久久久久国产精品 | 91三级视频| 国产亚洲精品久久久久久网站 | 中文字幕亚洲精品在线观看 | 久久人网| 欧美日韩不卡在线 | 91精品1区2区 | 久久香蕉国产精品麻豆粉嫩av | 婷婷夜夜| 国产精品久99 | 午夜国产福利在线观看 | 午夜视频久久久 | 天天操天天干天天干 | 国产在线观看 | 欧美激情综合色 | 91传媒视频在线观看 | 国产玖玖精品视频 | 手机av资源| 成人免费色 | 色综合久久久网 | 成人在线免费视频 | 不卡的av中文字幕 | 97在线影视 | www久久精品 | 中文字幕在线影视资源 | 人人爱爱人人 | 亚洲精品99久久久久久 | 91桃色国产在线播放 | 亚洲二区精品 | 久草在线欧美 | 国产精品18久久久久久首页狼 | 成年人免费看片网站 | 天天干.com| 中文字幕91 | 国产一区二区手机在线观看 | 欧美一区视频 | 久草视频资源 | 97视频播放 | 亚洲黄色片一级 | 精品国产电影一区 | 黄色h在线观看 | 五月天亚洲综合 | 就要干b | 91视频88av| 天天插天天操天天干 | 亚洲五月| 在线综合 亚洲 欧美在线视频 | av在线超碰 | 99久热精品 | 亚洲精品久久久蜜桃直播 | 国产精品999久久久 久产久精国产品 | 国产亚洲精品日韩在线tv黄 | 综合色播| 成人免费中文字幕 | 不卡的av在线 | 深夜免费小视频 | 九色视频网址 | 日本午夜免费福利视频 | 欧美热久久 | 在线看成人av| 国产91精品一区二区 | 亚洲国产三级在线观看 | 999久久精品| 久久久久久久久影院 | 久久99久久99免费视频 | 激情五月色播五月 | 国产日韩一区在线 | 久久99精品久久久久久 | 国产又粗又猛又爽又黄的视频先 | 成人久久久久久久久 | 色综合天天综合在线视频 | 狠狠黄| 国产一区高清在线 | 特级毛片爽www免费版 | 91伊人久久大香线蕉蜜芽人口 | 国产一在线精品一区在线观看 | 国产一区二区不卡视频 | 91久久久久久久一区二区 | 欧美精品乱码99久久影院 | 欧美日韩视频在线一区 | 81国产精品久久久久久久久久 | 午夜黄色 | 精品久久久久久国产 | 国产99免费视频 | 国产精品永久在线观看 | 亚洲天堂首页 | 欧美精品亚洲精品 | 国产97在线播放 | 在线观看网站你懂的 | 国产伦精品一区二区三区四区视频 | 欧美日韩二区在线 | 免费看精品久久片 | 香蕉视频免费在线播放 | 亚洲a网 | 国产精品va在线播放 | 欧美成人精品欧美一级乱 | 天堂av在线网址 | 日韩精品不卡在线观看 | 毛片久久久 | 成人h动漫精品一区二 | 久久激情五月激情 | 99久久久国产精品免费观看 | 美女国产精品 | 日韩视频欧美视频 | 免费亚洲黄色 | 精品人人爽| 久久精品国产一区二区三区 | 欧美精品999 | 国产成人一区二区在线观看 | 在线成人观看 | 超碰人人舔 | 日日日视频 | 91在线国产观看 | 欧美日韩精品在线观看 | 国产一区久久久 | 中文字幕久久久精品 | 在线视频观看亚洲 | 91夫妻视频 | 97自拍超碰| 日日夜夜国产 | 国产人成看黄久久久久久久久 | 精品高清视频 | 中文字幕av在线电影 | 91福利免费 | 丁香高清视频在线看看 | 超碰日韩| 久久er99热精品一区二区 | 国产麻豆精品传媒av国产下载 | 波多在线视频 | 久久网页 | 午夜 久久 tv | 91麻豆精品91久久久久同性 | www日日夜夜 | 中文字幕在线看视频 | 久久影院午夜论 | 欧美性大战| 一区二区三区不卡在线 | 性色av免费看 | 免费看特级毛片 | 国产成在线观看免费视频 | 天天摸夜夜操 | 日日夜夜人人精品 | 中文有码在线视频 | av在线免费播放网站 | 精品视频中文字幕 | 婷婷中文字幕在线观看 | 91在线看视频 | 久在线 | 午夜av不卡| 九九九热精品免费视频观看网站 | 狠狠狠操| 欧美 激情 国产 91 在线 | 日韩经典一区二区三区 | 成人久久精品视频 | 久久激情电影 | 91精品秘密在线观看 | 中文区中文字幕免费看 | 免费国产在线精品 | 亚洲一区二区视频在线播放 | 日韩在线观看三区 | 免费观看福利视频 | 成人丝袜 | 久久国产精品99久久久久久进口 | 久草国产在线观看 | 999视频网 | 一区二区三区在线影院 | 天天爽天天做 | 一区二区三区在线电影 | 久久久久久久久久久高潮一区二区 | 超碰97av在线| 日日干精品 | av在线亚洲天堂 | 亚洲成年人在线播放 | 欧洲精品视频一区二区 | 久久精品亚洲精品国产欧美 | 久久久久中文字幕 | 99色在线观看视频 | 色婷婷久久一区二区 | 乱男乱女www7788 | 午夜视频在线观看一区二区三区 | 国产艹b视频 | 日韩欧美在线一区二区 | 黄污网站在线观看 | 正在播放一区二区 | 911国产| 久草在线视频新 | 日韩午夜电影 | a久久免费视频 | 久久不射电影网 | 日本久久成人中文字幕电影 | 亚洲精品短视频 | 中文亚洲欧美日韩 | 久久国产精品99久久久久久丝袜 | 人人爽人人乐 | 亚洲欧美日韩不卡 | 超碰在线cao | 在线一区二区三区 | 一区视频在线 | 蜜臀91丨九色丨蝌蚪老版 | 免费色网站 | 亚洲国产影院av久久久久 | 成人小视频在线观看免费 | 在线中文字幕av观看 | 国产成人精品一区二区三区 | 美女久久久久久久久久久 | 天天做天天爱天天综合网 | 综合天堂av久久久久久久 | 久久免费精品国产 | 久久久久久久久久网站 | 久久免费视频精品 | 久久久午夜精品理论片中文字幕 | 国产精品资源 | 日本天天色 | 中日韩免费视频 | 久久免费a| 国产精品一区二区麻豆 | 成人av影院在线观看 | 日本中文字幕网 | 成人国产亚洲 | 黄色精品视频 | 国内精品久久久久影院日本资源 | 国产精品视频久久 | 亚洲一区二区三区91 | 在线观看91精品视频 | 成人午夜免费剧场 | 丁香六月国产 | 国产a级免费 | 国产在线精品一区二区不卡了 | 欧美做受高潮 | 久久综合色8888 | 国产一区二区三区午夜 | 99c视频在线 | 国产一级在线免费观看 | 在线免费观看视频a | 日日草天天干 | 久草观看视频 | 国产精品午夜久久久久久99热 | 在线观看精品国产 | 夜夜操狠狠干 | 精品你懂的 | 91视频中文字幕 | 中文字幕无吗 | 日韩理论在线观看 | 国产精品久久久久久久毛片 | 四虎www| 免费看污的网站 | 久久嗨| 亚洲国产中文在线观看 | 精品在线视频一区 | www91在线观看 | 六月婷婷色 | 日韩亚洲欧美中文字幕 | 亚洲乱码精品久久久久 | 国产综合在线观看视频 | 亚洲免费在线看 | 国产福利不卡视频 | 在线视频中文字幕一区 | 波多野结衣视频在线 | 日本大尺码专区mv | 午夜精品久久久 | 久久国产精品视频观看 | 日韩在线观看你懂得 | 婷婷色网视频在线播放 | 国产精品午夜在线观看 | 99久久精品久久久久久动态片 | 2022国产精品视频 | 国内三级在线 | 亚洲欧美日韩国产一区二区 | www久| 亚洲高清在线精品 | 69国产盗摄一区二区三区五区 | 在线观看日韩av | 久久视频在线免费观看 | 在线观看国产麻豆 | 91丨porny丨九色 | 久久久视频在线 | 免费看的黄色小视频 | 国产福利91精品一区 | 日本中文字幕影院 | japanesexxx乱女另类 | 国产自制av | av成人资源 | 久久天堂网站 | 黄污网| 国产精品都在这里 | 日韩在线资源 | 国产丝袜一区二区三区 | 欧美一二三区播放 | 日韩成人精品在线观看 | 亚洲男人天堂a | 日韩一级精品 | 久久高清片 | 久草网在线观看 | 国产精品久久99综合免费观看尤物 | 五月在线视频 | 欧美999| 欧美在线1 | 中文字幕中文字幕在线中文字幕三区 | 国产手机免费视频 | 中文字幕网址 | 日本一区二区三区视频在线播放 | 中文国产在线观看 | 中文字幕区 | 日本久热 | 国产精品18久久久久久不卡孕妇 | 国产精品1区 | 婷婷亚洲五月 | 综合久久网站 | 国产精品国产亚洲精品看不卡 | 黄色片网站大全 | 视频99爱 | 在线观看视频免费播放 | 黄色中文字幕在线 | 天堂av一区二区 | 国产高清一区二区 | 人人人爽 | 久久视讯| 精品成人免费 | 日韩国产欧美视频 | 男女激情麻豆 | 在线国产不卡 | 91亚洲精品久久久蜜桃借种 | 超碰成人av| 中文字幕 第二区 | 免费视频99 | 九草在线视频 | 五月天精品视频 | 亚洲激情 欧美激情 | 天天射狠狠干 | 国产人成在线观看 | 国产精品一区二区三区四区在线观看 | 中文字幕免费高清av | 中文字幕久久精品亚洲乱码 | 免费观看91| 国产精品99久久久久久宅男 | 在线观看免费一区 | 伊人网av | 成人免费观看a | 日韩av电影免费观看 | 久久国产经典 |