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

vivo 消息中間件測試環境項目多版本實踐

開發
在業務使用消息中間件的過程中,提出了開發測試環境項目多版本隔離的訴求。本文將介紹我們基于 RocketMQ 如何實現的多版本環境隔離。

一、背景

在2022年8月份 vivo 互聯網中間件團隊完成了互聯網在線業務的MQ引擎升級,從RabbitMQ 到 RocketMQ 的平滑升級替換。

在業務使用消息中間件的過程中,提出了開發測試環境項目多版本隔離的訴求。本文將介紹我們基于 RocketMQ 如何實現的多版本環境隔離。

二、消息中間件平臺主體架構

在正式展開項目多版本實踐之前,先大致介紹下我們消息中間件平臺的主體架構。

圖片

由上圖可知,我們消息中間件平臺的核心組件 mq-meta、RabbitMQ-SDK、mq-proxy,以及RocketMQ集群。

1. mq-meta

主要負責平臺元數據管理,以及業務SDK啟動時的鑒權尋址操作。

業務進行topic申請時,會自動分配創建到兩個不同機房的broker上。

鑒權尋址時會根據業務接入Key找到所在 MQ 集群下的proxy節點列表,經過機房優先+分片選取+負載均衡等策略,下發業務對應的proxy節點列表。

2. RabbitMQ-SDK

目前業務使用的消息中間件SDK仍為原有自研的RabibitMQ SDK,通過AMQP協議收發消息。

與proxy之間的生產消費連接,遵循機房優先原則,同時亦可以人為指定優先機房策略。

3. mq-proxy

消息網關組件,負責AMQP協議與RocketMQ Remoting協議之間的相互轉換,對于業務側目前僅開放了AMQP協議。

具備讀寫分離能力,可配置只代理生產、只代理消費、代理生產消費這三種角色。

與broker之間的生產消費,遵循機房優先原則。

機房優先的實現:

  • 生產:proxy優先將消息發送到自己本機房的broker,只有在發送失敗降級時,才會將消息發送到其他機房broker;通過擴展MQFaultStrategy+LatencyFaultTolerance,并結合快手負載均衡組件simple-failover-java實現機房優先+機房級別容災的負載均衡策略。
  • 消費:在進行隊列分配時,先輪詢分配自己機房的隊列;再將不存在任何消費的機房隊列,進行輪詢分配。通過擴展AllocateMessageQueueStrategy實現。

4. RocketMQ集群

每個MQ集群會由多個機房的broker組成。

每個topic則至少會分配到兩個不同機房的broker上。實現業務消息發送與消費的機房級別的容災

每個broker部署兩節點,采用主從架構部署,并基于zookeeper實現了一套自動主從切換的高可用機制。通過異步刷盤+同步雙寫來保證性能與消息的可靠性。

namesrv則為跨機房broker+mq-proxy之間的公共組件,為集群提供路由發現功能。

三、項目多版本實踐

3.1 現狀

后端服務通常采用微服務架構,各服務之間的通信,通常是同步與異步兩種調用場景。其中同步是通過RPC調用完成,而異步則是通過MQ(RocketMQ)生產消費消息實現。

在多版本環境隔離中,同步調用場景,一些RPC框架都能有比較好的支持(如Dubbo的標簽路由);但在異步調用場景,RocketMQ并不具備完整的版本隔離方案,需要通過組合一些功能自行實現。

最初消息中間件平臺支持的多版本環境隔離大致如下:

  • 平臺提供固定幾個MQ邏輯集群(測試01、測試02、測試03...)來支持版本隔離。
  • 業務在進行多版本的并行測試時,需關注版本環境與MQ邏輯集群的對應關系,一個版本對應到一個MQ邏輯集群。
  • 不同MQ邏輯集群下用到的MQ資源(Topic、Group)自然就是不同的。

該方式主要存在如下兩個問題

1、使用成本較高

  • 業務需在消息中間件平臺進行多套環境(集群)的資源申請。
  • 業務在部署多版本時,每個版本服務都需要配置一份不同的MQ資源接入Key,配置過程繁瑣且容易出錯。

2、環境維護成本較高

  • 在一個項目中,業務為了測試完整的業務流程,可能會涉及到多個生產方、消費方服務。盡管在某次版本中只改動了生產方服務,但仍需要在版本環境中一并部署業務流程所需的生產與消費方服務,增加了機器與人力資源成本。

為解決上述問題,提升多版本開發測試過程中的研發效率,中間件團隊開始了RocketMQ多版本環境隔離方案的調研。

3.2 方案調研

圖片

注釋:

1、物理隔離:即機器層面的隔離,MQ的物理隔離,則意味著使用完全不同的MQ物理集群。

2、資源邏輯隔離:屬于同一MQ物理集群,但采用不同的邏輯集群,業務側需關注不同邏輯集群下相應的topic和group資源配置。

3、基線版本:通常為當前線上環境的版本或者是當前的主開發版本,為穩定版本。

4、項目版本:即項目并行開發中的多版本,非基線版本。

5、消息回落:針對消費而言,若消費方沒有對應的項目版本,則會回落到基線版本來進行消費。

3.3 方案選擇

基于我們需解決的問題,并對實現成本與業務使用成本的綜合考量,我們僅考慮【基于消息維度的user-property】與【基于topic的messageQueue】這兩種方案。

又因在全鏈路的多版本環境隔離的需求中,業務使用的版本環境明確提出不做固定,故而我們最終選擇【基于消息維度的user-property】來作為我們多版本環境隔離的方案。

3.4 項目多版本的落地

基于消息維度的user-property來實現項目多版本的隔離。

1. 鏈路分析

在多版本環境中,真實的業務鏈路可能如下,服務調用可能走同步RPC或異步MQ。

圖片

注釋:

1、業務請求中帶有流量標識,經過網關時,根據流量路由規則將流量染色為全鏈路染色標識v-traffic-lane。

2、流量標識為userId,流量路由規則為用戶路由到指定版本,圖中的鏈路情況:

圖片

3、在后續的整個鏈路中,都需要將請求按照流量染色標識v-traffic-lane正確路由到對應版本環境。

2. 染色標識傳遞

為了正確識別當前服務所在版本,以及流量中的染色標識進行全鏈路傳遞,需要做如下事情:

(1)啟動

圖片

其中v-traffic-lane則是服務被拉起時所在的版本環境標識(由CICD提供),這樣proxy就能知道這個客戶端連接屬于哪個版本。

(2)消息的發送與接收

圖片

消息發送:mq-proxy將AMQP消息轉化為RocketMQ消息時,將染色標識添加到RocketMQ消息的user-property中。

消息接收:mq-proxy將RocketMQ消息轉化為AMQP消息時,將染色標識再添加到AMQP消息屬性中。

注釋:

上述紅色點位,可通過改動SDK進行染色標識的傳遞,但這樣就需要業務升級SDK了。這里我們是借助調用鏈agent來統一實現。

3.生產消費邏輯

圖片

(1)生產

邏輯比較簡單,對于存在版本tag的消息,只需要將版本標識作為一個消息屬性,存儲到當前topic中即可。

(2)消費

這里其實是有兩個問題:消費的多版本隔離、消息回落

我們先看下消費的多版本隔離應該如何實現?

通過使用不同的消費group,采用基于user-property的消息過濾機制來實現。

① 版本tag傳遞

  • 在RabbitMQ-SDK消費啟動時,通過全鏈路Agent傳遞到proxy

② 項目環境消費【消費屬于自己版本的消息】

  • proxy會根據版本tag在MQ集群自動創建帶版本tag的group,并通過消費訂閱的消息屬性過濾機制,只消費自己版本的消息
  • routingKey的過濾則依賴proxy側的過濾來完成。相對基線版本,多版本的消息量應該會比較少,全量拉取到proxy來做過濾,影響可控。
  • 消費組group_版本tag無需業務申請,由客戶端啟動時proxy會自動創建

③ 基線消費【消費全部基線版本消息+不在線多版本的消息】

  • 啟動時使用原始group,訂閱消費時,基于broker的routingKey過濾機制消費topic所有消息
  • 當消息被拉取到proxy后,再做一次消息屬性過濾,將多版本進行選擇性過濾,讓基線消費到正確版本的消息。

圖片

我們再來看下消息回落又該如何實現?

1、消息回落是基線消費需要根據多版本的在線情況,來決定是否需要消費多版本的消息。

2、上面已提到基線消費從broker是拉取所有消息進行消費。

3、我們通過在基線消費內部維護一個在線多版本tag的集合,然后進行多版本消息的選擇性過濾來支持回落。

4、但這個在線多版本tag的集合,需要及時更新,才能更好的保證消息回落的準確性。

5、起初我們采用定時任務從broker拉取所有在線多版本tag的集合,每30s拉取一次,這樣消息回落就需要30s才能生效,準確性差。

6、后面我們想到用廣播通知機制,在多版本上下線時廣播通知到所有的基線消費實例,保證了消息回落的實效性與準確性。

7、完整的基線消費實例在線多版本tag集合更新機制如下:

圖片

(3)broker側的調整

這里主要是為了配合消費多版本的實現,對broker進行了一些擴展。

1、提供在線多版本group集合的擴展接口。用以返回當前group所有在線的多版本group集合。

2、增加broker側多版本消息過濾機制。因RocketMQ原生sql92過濾表達式,無法支持帶點的屬性字段過濾;而我們的版本標識(_vh_.v-traffic-lane)是存在的。

注釋:

1、routingKey過濾機制:為基于broker的消息過濾機制的擴展,可實現RabbitMQ中的routingKey表達式相同的消息路由功能。

2、多版本生產消費邏輯,都在mq-proxy與RocketMQ-broker側完成。業務也無需升級SDK。

4. 問題定位

在多版本隔離中,平臺對用戶屏蔽了復雜的實現細節,但用戶使用時,也需要能觀測到消息的生產消費情況,便于問題跟蹤定位。

這里我們主要提供了如下功能:

① 消息查詢:可觀測消息當前的版本標識,以及消息軌跡中的生產消費情況

圖片

圖片

② 消費group的在線節點:可看到消費節點當前的版本標識

圖片

四、總結與展望

本文概述了vivo互聯網中間件團隊,在開源RocketMQ基礎之上,如何落地【測試環境項目多版本隔離】的業務訴求。其中涵蓋了vivo消息中間件主體架構現狀、業內較流行的幾種方案對比,并對我們最終選擇方案在實現層面進行了細節性的分析。希望可以給業界提供一種基于proxy來實現多版本隔離特性的案例參考。

在實現過程中遇到的問題點歸結下來則是:

1. 流量染色標識在整個生產消費過程中如何傳遞?

  • 在客戶端SDK使用全鏈路agent進行流量染色標識的添加、拆解、傳遞。
  • 在RocketMQ則存儲到消息的user-property當中。


2. 消費客戶端版本標識如何識別?

  • 客戶端SDK使用全鏈路agent將版本標識添加到連接屬性當中。
  • proxy則根據客戶端版本標識自動創建多版本消費group。


3. 消費的多版本隔離如何實現?

  • 項目版本,通過不同的消費group,基于broker端消息屬性的版本過濾來實現隔離。
  • 基線版本,則通過proxy側消費過濾來忽略掉不需要消費的消息。


4. 消息回落如何實現?如何保證消息回落的實效性與準確性?

  • 基線版本內部會維護一個在線多版本消費group的集合,根據這個集合來決定消息是否需要回落到基線進行消費。
  • 消息回落的實效性與準確性則通過定時+廣播消息的機制保證。

最后,我們實現的多版本隔離特性如下:

  • 多版本環境隔離。在proxy層面基于消息維度user-property來實現版本隔離,業務不需要升級SDK,業務使用層面仍然為同一套配置資源。
  • 支持消息回落。
  • 消費失敗產生的重試消息也能被重投遞到對應版本。

但仍存在如下不足

多版本消費客戶端全部下線場景:若topic中仍存在一些已下線版本的消息沒有消費,則這部分消息不保證一定能被基線版本全部消費到。因基線版本與項目版本實際上采用的是不同的消費group,在broker的消費進度是不一致的,消息回落到基線消費之后,其消費位點可能已經超過項目版本消費group下線時的位點,中間存在偏差,會導致這部分消息再無法被基線版本消費到。

建議用于開發測試環境,因其無法保證多版本消息至少會被消費一次

未來,消息中間件也會考慮線上環境全鏈路灰度場景的支持。

責任編輯:龐桂玉 來源: vivo互聯網技術
相關推薦

2023-01-11 21:11:37

RabbitMQRocketMQ消息中間件

2024-05-07 07:58:10

數據架構大數據中間件架構

2024-09-19 14:02:16

2023-06-29 10:10:06

Rocket MQ消息中間件

2023-10-24 07:50:18

消息中間件MQ

2019-09-11 09:00:19

消息中間件選型

2015-08-11 11:16:36

淘寶中間件

2022-11-02 10:08:46

分布式高并發消息中間件

2021-12-14 10:39:12

中間件ActiveMQRabbitMQ

2024-08-09 08:11:02

2022-08-09 08:31:29

RocketMQ消息中間件

2023-05-08 08:09:26

路由元信息謂詞

2024-01-24 08:19:02

Stream應用場景注解

2022-10-21 10:48:17

消息中間件互聯網應用協議

2022-02-13 23:04:28

RedisRabbitMQKafka

2019-07-19 07:56:13

消息隊列消息代理消息中間件

2023-10-16 12:25:48

2024-07-11 11:17:00

消息隊列Java

2019-12-13 10:32:56

開源消息中間件

2019-11-18 09:58:11

中間件投遞模式
點贊
收藏

51CTO技術棧公眾號

91制片厂免费观看| 97久久精品在线| 国产又猛又黄的视频| 青青青草原在线| 麻豆精品网站| 在线性视频日韩欧美| 欧美一级裸体视频| 黄av在线播放| av在线不卡电影| 国产精品91免费在线| 538国产视频| 日本美女一区| 亚洲婷婷综合色高清在线| 91嫩草在线| 国产成人精品网| 日本久久一二三四| 日韩亚洲欧美高清| 国产成人无码精品久久久性色| 美女做暖暖视频免费在线观看全部网址91 | 亚州综合一区| 欧美日韩另类一区| 国产无限制自拍| 国产毛片在线| 国产福利一区在线| 国产福利精品在线| 欧美卡一卡二卡三| 欧美激情99| 欧美人与禽zozo性伦| 无码 制服 丝袜 国产 另类| 久久米奇亚洲| 国产91精品入口| 国内免费久久久久久久久久久 | 亚洲片在线资源| www.日本久久| 婷婷六月国产精品久久不卡| 亚洲女子a中天字幕| 麻豆蜜桃91| 中文字幕 亚洲视频| 99国产成+人+综合+亚洲欧美| 伊人伊成久久人综合网站| 成人在线观看一区二区| 日韩成人高清| 欧美日韩一区二区三区| 穿情趣内衣被c到高潮视频| 欧美日韩伦理片| 成人aa视频在线观看| 国产欧美日韩中文字幕在线| 九九热这里有精品视频| 日韩精品二区| 亚洲人成在线观看网站高清| av不卡中文字幕| www.久久久久爱免| 欧美在线啊v一区| 69堂免费视频| 嗯~啊~轻一点视频日本在线观看| 亚洲三级在线免费| 神马影院午夜我不卡影院| 五月婷婷深深爱| 不卡电影一区二区三区| 成人网址在线观看| 一级爱爱免费视频| 人人狠狠综合久久亚洲| 日本一区二区三区在线播放| 日本少妇久久久| 欧美三区视频| 色中色综合影院手机版在线观看| 欧美成人久久久免费播放| 免费成人网www| 亚洲欧美一区二区三区四区| 国产精品亚洲一区二区无码| 亚洲国产一区二区三区网站| 欧美疯狂性受xxxxx喷水图片| 亚洲色图38p| 日韩欧美精品电影| 色综合久久中文字幕综合网| 少妇高潮喷水久久久久久久久久| 啊啊啊久久久| 午夜激情久久久| 99在线免费视频观看| 99视频在线观看地址| 国产精品萝li| 在线综合视频网站| 中文字幕在线观看播放| 亚洲六月丁香色婷婷综合久久 | 精品国产亚洲一区二区三区在线 | 国内自拍欧美| 欧美不卡在线视频| 野战少妇38p| 另类ts人妖一区二区三区| 日韩精品视频在线观看免费| 中文字幕5566| 青青久久av| 精品视频在线播放| 精品人体无码一区二区三区| 99久久综合| 久久久影视精品| 秋霞精品一区二区三区| 蜜臀久久99精品久久久久久9| 91丨九色丨国产在线| 亚洲产国偷v产偷v自拍涩爱| av在线不卡观看免费观看| 欧美h视频在线| 深夜福利视频在线免费观看| 国产欧美一区二区三区在线老狼| 伊人狠狠色丁香综合尤物| 成人直播在线| 精品国产91久久久久久老师| 丁香啪啪综合成人亚洲| 97色婷婷成人综合在线观看| 欧美精品777| 亚洲欧美日韩偷拍| 不卡日本视频| 久久久免费电影| 亚洲毛片一区二区三区| 经典三级在线一区| 精品一区二区日本| 免费av在线网址| 亚洲 欧美综合在线网络| 亚洲 中文字幕 日韩 无码| 日韩欧美中文字幕在线视频| 亚洲男人天堂古典| 久久精品www| 日韩极品在线观看| 国产精品久久久对白| 亚洲av成人无码久久精品老人| 国产精品视频yy9299一区| 日韩欧美不卡在线| 久久青草视频| 国产视频精品一区二区三区| 人妻人人澡人人添人人爽| 国产亚洲毛片| 99一区二区三区| www.黄在线观看| 欧美日韩黄色大片| 韩国三级hd中文字幕有哪些| 久久最新网址| 久热精品在线视频| 九一国产在线观看| 国产成人午夜精品影院观看视频| 日本不卡二区| 888av在线视频| 91精品国产福利| 欧美人妻一区二区三区| 亚洲久久在线| 91丨九色丨国产| 337p日本欧洲亚洲大胆鲁鲁| 午夜视频久久久久久| www.国产福利| 日韩一区欧美| 日本亚洲欧美三级| 日日躁夜夜躁白天躁晚上躁91| 成人免费在线观看入口| 毛葺葺老太做受视频| 香蕉视频一区| 韩国美女主播一区| 不卡视频在线播放| 亚洲色图欧美激情| 国产乱女淫av麻豆国产| 美国一区二区| 欧美国产日韩一区| 国产av无码专区亚洲av| 日韩一区在线免费观看| jizz欧美性11| 999久久久91| 国产日韩欧美在线观看| 97视频精彩视频在线观看| 91久久精品日日躁夜夜躁欧美| 成人免费看aa片| 亚洲综合社区| 精品视频在线观看| 中文字幕在线看片| 亚洲欧美另类人妖| 无码人妻精品一区二区三区9厂 | 亚洲国产综合人成综合网站| 国产成人美女视频| 四季av一区二区凹凸精品| 国产精品久久精品| 成年人视频在线观看免费| 欧美日韩一区久久| 国产精品18在线| 日韩国产精品大片| 夜夜爽www精品| 国产午夜亚洲精品一级在线| 精品中文字幕视频| 成人免费公开视频| 黑人精品xxx一区一二区| 制服丝袜第二页| 日本在线不卡视频一二三区| 亚洲一卡二卡区| 99tv成人影院| 国产+人+亚洲| 国产午夜在线视频| 制服丝袜中文字幕一区| 激情五月婷婷在线| 91女人视频在线观看| 午夜dv内射一区二区| 久久国产小视频| 91香蕉嫩草影院入口| 污污视频在线| 亚洲成人黄色网| www五月天com| 亚洲色图欧洲色图| 日本黄色录像片| 六月丁香婷婷色狠狠久久| 福利在线小视频| 久久97精品| 欧美在线一级va免费观看| 懂色一区二区三区| 欧美一级在线观看| 国产又大又黄视频| 一色桃子久久精品亚洲| 香蕉久久久久久av成人| 午夜在线精品| 亚洲精品中文字幕在线| 警花av一区二区三区| 91成人在线播放| 日本精品在线| 日韩av最新在线| 一区二区三区播放| 精品久久久精品| 国产精品久久久久久久精| 久久女同精品一区二区| 一级网站在线观看| 日韩av电影天堂| 妞干网在线观看视频| 日韩影院二区| 欧美理论一区二区| ady日本映画久久精品一区二区| 国产精品99久久久久久久久| 性欧美videos高清hd4k| 亚洲免费中文字幕| 免费看av毛片| 3atv一区二区三区| www.久久网| 欧美日韩国产在线| 欧美卡一卡二卡三| 国产精品传媒视频| 三叶草欧洲码在线| 国产激情91久久精品导航 | 国产视频精品免费| 91蝌蚪porny| 国产香蕉精品视频| 极品销魂美女一区二区三区| 午夜肉伦伦影院| 最新亚洲一区| 99在线免费视频观看| 欧美伦理在线视频| 青青草成人激情在线| 日韩精品福利一区二区三区| 91久久精品www人人做人人爽| 国产麻豆久久| 国产精品69久久久久| 一个人看的www视频在线免费观看 一个人www视频在线免费观看 | 99国产欧美久久久精品| 日本wwwxx| 国产在线播放一区| 伊人色在线观看| 日本aⅴ免费视频一区二区三区| 免费国产黄色网址| 最新日韩av| www.av毛片| 一区在线观看| 成人在线播放网址| 欧美午夜a级限制福利片| 国产 欧美 日本| 综合亚洲视频| 日韩在线视频在线| 黄色成人av网站| 蜜臀精品一区二区| 狠狠色丁香久久综合频道| 日韩精品一区二区免费| 黄色亚洲大片免费在线观看| 久无码久无码av无码| 激情综合自拍| 国产精品一区二区免费在线观看| 日韩一级不卡| 成年人黄色片视频| 日本美女一区二区三区| 国产日韩欧美久久| 国产自产视频一区二区三区| 日本高清久久久| 国产老妇另类xxxxx| 丰满人妻一区二区三区大胸| 国产不卡视频在线播放| 69xxx免费视频| 91在线视频观看| 极品人妻videosss人妻| 国产精品区一区二区三区| 日本黄色片免费观看| 亚洲福利一区二区| 国产中文字幕视频| 欧美午夜精品久久久久久超碰| 中文字幕av免费观看| 日韩一区二区在线播放| 欧美一区二区三区黄片| 国产丝袜一区视频在线观看 | 成人网页在线免费观看| 91综合精品国产丝袜长腿久久| 国产乱码一区| 凹凸成人精品亚洲精品密奴| 国产在线拍揄自揄拍无码| 国产真实久久| 99久久激情视频| 国产在线不卡一区| 五十路六十路七十路熟婆 | 91福利视频久久久久| 一级黄色片网站| 亚洲高清免费观看高清完整版| 触手亚洲一区二区三区| 久久国产精品久久久| 亚洲美女炮图| 91九色露脸| 极品美女一区二区三区| 日本老太婆做爰视频| 午夜在线a亚洲v天堂网2018| 99视频在线视频| 福利一区二区在线观看| 亚洲精品色午夜无码专区日韩| 亚洲精品日韩综合观看成人91| 中文字幕69页| 亚洲精品视频免费| 牛牛电影国产一区二区| 成人午夜一级二级三级| 日本一区二区在线看| 国产精品69页| 91在线码无精品| 日本一二三区不卡| 日韩欧美一级二级| 国产精品剧情一区二区在线观看| 亚洲天天做日日做天天谢日日欢| 国内偷拍精品视频| 欧美日韩精品一区二区三区四区 | 九色成人搞黄网站| 久久婷婷开心| 亚洲精品孕妇| 中文在线观看免费视频| 亚洲一区二区三区四区五区黄 | 粉嫩aⅴ一区二区三区四区五区| 我要看一级黄色录像| 欧美视频一区二区三区| 国产永久免费高清在线观看视频| 91精品国产色综合久久不卡98| 福利电影一区| 91成人在线观看喷潮教学| 成人免费的视频| 欧美成人精品欧美一级乱黄| 精品国精品国产| 川上优av中文字幕一区二区| 国产在线一区二区三区欧美| 影音先锋日韩资源| 国产女主播在线播放| 亚洲不卡一区二区三区| 亚洲欧美日韩动漫| 欧美亚洲另类视频| 精品国产一区二区三区| 污污视频网站免费观看| 亚洲国产精品av| 中文字幕精品在线观看| 日韩中文在线中文网在线观看| 久久影视精品| 成人午夜视频免费观看| 国产精品99精品久久免费| 黄网站免费在线| 日韩精品免费在线| 国产一区二区三区朝在线观看| 亚洲激情电影在线| 国产一区二区三区免费播放| 九九九免费视频| 亚洲精品久久久久| 91伊人久久| 日本免费黄色小视频| 丁香婷婷综合色啪| 一级做a爰片久久毛片| 中文字幕国产亚洲2019| 精品国产亚洲一区二区三区大结局 | av在线第一页| 成人在线观看视频网站| 激情综合亚洲| 亚洲国产日韩一区无码精品久久久| 欧美日本一区二区| av剧情在线观看| 日韩欧美精品在线不卡| 国产乱码精品一区二区三区五月婷| 久久久久亚洲av成人片| 亚洲人成电影网站| 999精品嫩草久久久久久99| 熟女少妇在线视频播放| 国产精品人妖ts系列视频| 亚洲精品久久久久久久久久| 97超级碰碰人国产在线观看| 色琪琪久久se色| 182在线视频| 欧美夫妻性生活| 中文字幕在线直播| 女人床在线观看| 久久精品亚洲国产奇米99| 精品国自产拍在线观看| 国产精品1区2区在线观看| 黑人一区二区| 日本 欧美 国产|