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

Kitex Proxyless 之流量路由:配合 Istio 與 OpenTelemetry 實現(xiàn)全鏈路泳道

開發(fā) 架構(gòu)
Kitex Proxyless 簡單來說就是 Kitex 服務(wù)能夠不借助 envoy sidecar 直接與 istiod 交互,基于 xDS 協(xié)議動態(tài)獲取控制面下發(fā)的服務(wù)治理規(guī)則,并轉(zhuǎn)換為 Kitex 對應(yīng)規(guī)則來實現(xiàn)一些服務(wù)治理功能(例如本文的重點:流量路由)。

1. 引言

1.1 Kitex Proxyless

Kitex 是字節(jié)跳動開源的 Golang RPC 框架,目前已經(jīng)原生支持了 xDS 標(biāo)準(zhǔn)協(xié)議, 支持以 Proxyless 的方式被 ServiceMesh 統(tǒng)一納管。

  • 詳細(xì)設(shè)計見:Proposal: Kitex support xDS Protocol · Issue #461 · cloudwego/kitex (https://github.com/cloudwego/kitex/issues/461)
  • 具體使用方式見:官方文檔(https://www.cloudwego.io/zh/docs/kitex/tutorials/advanced-feature/xds/)

Kitex Proxyless 簡單來說就是 Kitex 服務(wù)能夠不借助 envoy sidecar 直接與 istiod 交互,基于 xDS 協(xié)議動態(tài)獲取控制面下發(fā)的服務(wù)治理規(guī)則,并轉(zhuǎn)換為 Kitex 對應(yīng)規(guī)則來實現(xiàn)一些服務(wù)治理功能(例如本文的重點:流量路由)。

基于 Kitex Proxyless,讓我們實現(xiàn) Kitex 能夠無需代理就可以被 ServiceMesh 統(tǒng)一管理,進(jìn)而實現(xiàn)多種部署模式下的 治理規(guī)則 Spec、治理控制面、治理下發(fā)協(xié)議、異構(gòu)數(shù)據(jù)治理能力 的統(tǒng)一。

圖片

1.2 流量路由

流量路由是指,能夠?qū)⒘髁?strong>根據(jù)其自身特定的元數(shù)據(jù)標(biāo)識路由到指定目的地。

流量路由屬于服務(wù)治理中比較核心的能力之一,也是 Kitex Proxyless 優(yōu)先支持的場景之一。

Kitex 基于 xDS 實現(xiàn) 流量路由 的方案大致如下:

圖片

具體流程:

  1. 增加一個xDS Router MW 來負(fù)責(zé) Pick Cluster(路由),并 watch 目標(biāo)服務(wù)的 LDS 及 RDS。
  2. 感知 LDS 變化,并提取目標(biāo)服務(wù)的 LDS 中的 Filter Chain 及其 inline RDS。
  3. 感知 RDS 變化,根據(jù)VirtualHost 和 ServiceName 來匹配(支持前綴、后綴、精確、通配),獲取目標(biāo)服務(wù)的路由配置。
  4. 遍歷處理匹配到的 RDS 中的路由規(guī)則,路由規(guī)則主要分為兩部分(參考:路由規(guī)范定義):
  1. Match(支持前綴、后綴、精確、通配等),目前版本我們支持以下兩種即可
  1. Path(必須項):從rpcinfo 提取 Method進(jìn)行匹配。
  2. HeaderMatcher(可選項):從metainfo 中提取對應(yīng)元數(shù)據(jù) KeyValue,并進(jìn)行匹配。
  1. Route:
  1. Cluster: 標(biāo)準(zhǔn) Cluster。

  2. WeightedClusters(權(quán)重路由): MW 內(nèi)根據(jù)權(quán)重來選擇 cluster。

  3. 將選擇到的 Cluster 寫入 EndpointInfo.Tag,用于之后的服務(wù)發(fā)現(xiàn)。

可以看到,流量路由其實是一個根據(jù)一定規(guī)則選擇對應(yīng) SubCluster 的流程。

2. 全鏈路泳道

基于流量路由能力,我們可以延伸出很多使用場景,如:A/B 測試、金絲雀發(fā)布、藍(lán)綠發(fā)布等等,以及本文重點:全鏈路泳道 。

全鏈路泳道可以理解成是對一組服務(wù)實例按照一定方式進(jìn)行拆分(例如部署環(huán)境),并基于全鏈路灰度路由能力,讓流量能夠精準(zhǔn)按照規(guī)則在指定服務(wù)實例泳道中流動(邏輯上如同游泳場中的泳道)。

在 Istio 中我們一般會通過 DestinationRule 的 subset 對實例進(jìn)行分組,將一個服務(wù)拆分成不同子集(例如:按照版本、區(qū)域等屬性拆分),然后配合 VirtualService 來定義對應(yīng)的路由規(guī)則,將流量路由到對應(yīng)子集中,從而完成泳道中的單跳路由能力。

不過單單只有流量路由能力,還不足以實現(xiàn)全鏈路泳道  因為當(dāng)一個請求跨越多個服務(wù)的時候,我們需要有一個比較好的機(jī)制能夠準(zhǔn)確識別出該流量,并基于這個特征來為每一跳流量配置路由規(guī)則。

如下圖所示:假設(shè)我們要實現(xiàn)一個用戶的請求能夠精確灰度到 service-b 的 v1 版本。最先想到的做法可能是所有請求都帶上 ??uid = 100?? 的請求頭,然后配置對應(yīng) VirtualService 來根據(jù) header 里的 ??uid = 100?? 匹配。

圖片

但這樣的做法有幾個明顯的缺點:

  1. 不夠通用: 以具體某個業(yè)務(wù)屬性標(biāo)識(如:uid)作為流量路由匹配規(guī)則,我們需要將這個業(yè)務(wù)屬性手動在全鏈路里透傳,這本身對業(yè)務(wù)侵入性較大,需要業(yè)務(wù)配合改造。并且當(dāng)我們要使用其他業(yè)務(wù)屬性的時候,又需要全鏈路業(yè)務(wù)都改造一遍,可想而知,是非常不通用的做法。
  2. 路由規(guī)則容易頻繁變動,容易造成規(guī)則臃腫: 以具體某個業(yè)務(wù)屬性標(biāo)識(如:uid)作為流量路由匹配規(guī)則,假設(shè)我們要換一個業(yè)務(wù)屬性,或者給其他用戶設(shè)置路由規(guī)則的時候,得去改造原有的路由規(guī)則,或者針對不同業(yè)務(wù)屬性重復(fù)定義多套路由規(guī)則,很容易就會造成路由臃腫,以至于難以維護(hù)。

因此,要實現(xiàn)全鏈路的流量路由統(tǒng)一,我們還需要額外借助一個更通用的 流量染色 與 染色標(biāo)識全鏈路透傳 能力。

2.1 流量染色

流量染色是指對請求流量打上特殊標(biāo)識,并在整個請求鏈路中攜帶這個標(biāo)識,而所謂的全鏈路泳道,就是整個鏈路基于統(tǒng)一的灰度流量染色標(biāo)識來設(shè)置流量路由規(guī)則,使得流量能夠精準(zhǔn)控制在不同泳道中。

通常我們會在網(wǎng)關(guān)層進(jìn)行流量染色,通常會根據(jù)原始請求中的元數(shù)據(jù),來進(jìn)行一定規(guī)則(條件、比例)轉(zhuǎn)換成對應(yīng)的染色標(biāo)識。

  • 按條件染色:當(dāng)請求元數(shù)據(jù)滿足一定條件之后,就給當(dāng)前請求打上染色標(biāo)識,如:請求頭中 uid=100、cookie 匹配等等。
  • 按比例染色:按照一定比例,給請求打上染色標(biāo)識。

有了一套統(tǒng)一的流量染色機(jī)制之后,我們配置路由規(guī)則的時候,就不需要關(guān)心具體的業(yè)務(wù)屬性標(biāo)識了,只需要根據(jù) 染色標(biāo)識 來配置即可。

將具體的業(yè)務(wù)屬性抽象成條件染色規(guī)則,使其更通用,即使業(yè)務(wù)屬性發(fā)生了變化,路由規(guī)則也無需再頻繁變動了。

2.2 染色標(biāo)識全鏈路透傳

染色標(biāo)識通常會依靠 Tracing Baggage 來透傳,Baggage 是用于在整個鏈路中傳遞業(yè)務(wù)自定義 KV 屬性,例如傳遞流量染色標(biāo)識、傳遞 AccountID 等業(yè)務(wù)標(biāo)識等等。

圖片

要實現(xiàn)流量染色標(biāo)識在全鏈路透傳,我們通常會借助 Tracing Baggage 機(jī)制,在全鏈路中傳遞對應(yīng)染色標(biāo)識,大部分 Tracing 框架都支持 Baggage 概念機(jī)能力,如:OpenTelemetry、Skywalking、Jaeger 等等。

有了一套通用的全鏈路透傳機(jī)制,業(yè)務(wù)方就只需要接入一遍 tracing 即可,無需每次業(yè)務(wù)屬性標(biāo)識發(fā)生變化就配合改造一次。

下面會借助一個具體的工程案例介紹,來介紹并演示如何基于 Kitex Proxyless 和 OpenTelemetry Baggage 實現(xiàn)全鏈路泳道功能。

3. 案例介紹:Bookinfo

該案例是使用 Hertz、Kitex 重寫經(jīng)典的 Istio Bookinfo 項目:

  • 使用 istiod 來作為xDS server,作為 CRD 配置和下發(fā)的入口;
  • 使用 wire 來實現(xiàn)依賴注入;
  • 使用 opentelemetry 來實現(xiàn)全鏈路追蹤
  • 使用 Kitex-xds 和 opentelemetry baggage 來實現(xiàn)proxyless 模式下的全鏈路泳道;
  • 使用 arco-design 和 react 實現(xiàn)一個Bookinfo UI

3.1 架構(gòu)

整體架構(gòu)與 Bookinfo 保持一致,分為四個單獨(dú)的微服務(wù):

  • ??productpage??. 這個微服務(wù)會調(diào)用 details 和 reviews 兩個微服務(wù);
  • ??details??. 這個微服務(wù)中包含了書籍的信息;
  • ??reviews??. 這個微服務(wù)中包含了書籍相關(guān)的評論。它還會調(diào)用 ratings 微服務(wù);
  • ??ratings??. 這個微服務(wù)中包含了由書籍評價組成的評級信息。

??reviews?? 微服務(wù)有 3 個版本:

  • v1 版本會調(diào)用ratings 服務(wù),并使用 1 顆 ?? 顯示評分;
  • v2 版本會調(diào)用ratings 服務(wù),并使用 5 顆 ???????????? 顯示評分;
  • v3 版本不會調(diào)用ratings 服務(wù)。

圖片

3.2 泳道示意圖

整體區(qū)分成 2 個泳道:

  • 基準(zhǔn)泳道  未被染色的流量會被路由到基準(zhǔn)泳道中。
  • 分支泳道  被染色的流量會被路由到 reviews-v2 ->ratings-v2 的分支泳道中。

圖片

3.3 流量染色

網(wǎng)關(guān)統(tǒng)一負(fù)責(zé)對流量進(jìn)行染色,例如請求 header 中 uid=100 的流量都統(tǒng)一進(jìn)行染色,為請求攜帶上 ??env=dev?? 的 baggage 。

圖片

染色方式可以根據(jù)不同的網(wǎng)關(guān)實現(xiàn)具體選擇,例如當(dāng)我們選擇 istio ingress 作為網(wǎng)關(guān)的時候,我們可以借助 ??EnvoyFilter?? + ??Lua?? 的方式來編寫網(wǎng)關(guān)染色規(guī)則。

3.4 為服務(wù)實例打標(biāo)

  1. 為對應(yīng)workload 打上對應(yīng) version 標(biāo)識。

以 reviews 為例,只需要給對應(yīng) pod 打上 version: v1 的 label 即可。

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/instance: reviews
app.kubernetes.io/name: reviews
name: reviews-v1
spec:
selector:
matchLabels:
app.kubernetes.io/instance: reviews
app.kubernetes.io/name: reviews
version: v1
template:
metadata:
annotations:
sidecar.istio.io/inject: "false"
labels:
app.kubernetes.io/instance: reviews
app.kubernetes.io/name: reviews
version: v1
...
  1. 基于DestinationRule 為服務(wù)設(shè)置一系列的 subsets:
  • Productpage: v1
  • Reviews: v1、v2、v3
  • Ratings: v1、v2
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: productpage
spec:
host: productpage
subsets:
- name: v1
labels:
version: v1
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: reviews
spec:
host: reviews
subsets:
- name: v1
labels:
version: v1
- name: v2
labels:
version: v2
- name: v3
labels:
version: v3
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: ratings
spec:
host: ratings
subsets:
- name: v1
labels:
version: v1
- name: v2
labels:
version: v2

3.5 流量路由規(guī)則

網(wǎng)關(guān)已經(jīng)將請求頭中攜帶了 uid=100 的流量進(jìn)行了染色,自動帶上了 ??env=dev?? 的 baggage,因此我們只需要根據(jù) header 進(jìn)行路由匹配即可,下面是具體的路由規(guī)則配置示例:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: reviews
spec:
hosts:
- reviews
http:
- match:
- headers:
baggage:
exact: "env=dev"
route:
- destination:
host: reviews
subset: v2
weight: 100
- route:
- destination:
host: reviews
subset: v1
weight: 80
- destination:
host: reviews
subset: v3
weight: 20

---

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ratings
spec:
hosts:
- ratings
http:
- match:
- headers:
baggage:
exact: "env=dev"
route:
- destination:
host: ratings
subset: v2
weight: 100
- route:
- destination:
host: ratings
subset: v1
weight: 100

3.6 查看效果

3.6.1 基準(zhǔn)泳道

入口流量請求頭中不帶 uid=100 的請求,會自動路由到基準(zhǔn)泳道服務(wù),reviews v1 和 v3 服務(wù)間輪詢,展示的效果是評分為 0 或 1 隨機(jī)。

圖片

3.6.2 分支泳道

  1. 我們這邊通過瀏覽器 mod-header 插件,來模擬入口流量請求頭中攜帶了uid=100 的場景。

圖片

2.  再點擊刷新按鈕,可以發(fā)現(xiàn)請求打到了分支泳道,流量泳道功能成功生效。

圖片

4.  總結(jié)與展望

至此我們已經(jīng)基于 Kitex Proxyless 與 OpenTelemetry 實現(xiàn)了一個完整的全鏈路泳道,并且無需借助 Envoy sidecar,就能基于 Isito 標(biāo)準(zhǔn)治理規(guī)則 Spec,來為 Kitex 設(shè)置對應(yīng)的路由規(guī)則了。

當(dāng)然,除了滿足 流量路由 能力之外,Kitex Proxyless 也在持續(xù)迭代優(yōu)化,滿足更多數(shù)據(jù)面治理能力需求。Proxyless 作為一種 ServiceMesh 數(shù)據(jù)面探索和實踐,除了能夠豐富網(wǎng)格數(shù)據(jù)面部署形態(tài)之外,也希望可以不斷打磨 Kitex,增強(qiáng)其在開源生態(tài)兼容方面的能力,打造一個開放包容的微服務(wù)生態(tài)體系。

5. 相關(guān)項目鏈接

下面是該案例涉及的項目清單:

  • biz-demo:https://github.com/cloudwego/biz-demo
  • kitex:https://github.com/cloudwego/kitex
  • hertz:https://github.com/cloudwego/hertz
  • kitex-xds:https://github.com/kitex-contrib/xds
  • kitex-opentelemetry:https://github.com/kitex-contrib/obs-opentelemetry
  • hertz-opentelemetry:https://github.com/hertz-contrib/obs-opentelemetry

該完整案例已提交在 biz-demo (https://github.com/cloudwego/biz-demo) 倉庫中,感興趣的同學(xué)可以前往查閱。

biz-demo 會包含一些基于 CloudWeGo 技術(shù)棧且具備一定業(yè)務(wù)場景的完整 Demo,初衷是能夠為企業(yè)用戶在生產(chǎn)中使用提供有價值的參考,非常歡迎更多同學(xué)能夠參與到 CloudWeGo 相關(guān)場景與案例的貢獻(xiàn)中來,一起來做一些有意思的嘗試。

責(zé)任編輯:龐桂玉 來源: 字節(jié)跳動技術(shù)團(tuán)隊
相關(guān)推薦

2023-10-16 23:43:52

云原生可觀測性

2023-09-24 23:35:46

云原生Kubernetes

2021-11-18 10:01:00

Istio 全鏈路灰度微服務(wù)框架

2024-08-21 08:09:17

2022-08-07 21:59:57

高可用架構(gòu)

2023-11-14 09:04:15

用戶節(jié)點不可用

2023-11-09 07:23:57

Istio路由分析

2023-01-30 22:34:44

Node.js前端

2014-07-23 15:35:41

鏈路狀態(tài)

2016-12-13 08:45:48

2024-01-05 00:29:36

全鏈路灰度發(fā)布云原生

2022-08-31 22:25:53

微服務(wù)架構(gòu)DevOPs

2023-12-25 07:46:35

GatewayAPI開源

2021-11-01 08:16:26

模型Istio服務(wù)

2014-12-31 15:05:11

Android流量監(jiān)控

2023-11-13 10:41:44

Spring微服務(wù)

2025-09-02 01:40:00

2022-12-28 09:07:41

2022-06-27 11:06:33

全鏈路影子庫影子表

2022-05-23 08:23:24

鏈路追蹤SleuthSpring
點贊
收藏

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

国产精品久久在线观看| 欧美男女性生活在线直播观看| 国产精品免费一区二区| 日本黄色片视频| 亚洲电影一级片| 91国模大尺度私拍在线视频| 中文字幕乱码一区二区三区| 亚洲国产欧美另类| 日韩精彩视频在线观看| 久久黄色av网站| 95视频在线观看| 成人精品电影在线| 亚洲精品菠萝久久久久久久| 久久精品二区| 国产深喉视频一区二区| 久久av在线| 欧美大尺度在线观看| 国产激情在线免费观看| 精品视频一区二区三区| 日韩欧美精品网站| 国产在线视频综合| 日韩毛片久久久| bt欧美亚洲午夜电影天堂| 国产精品欧美一区二区三区奶水| 日本免费一二三区| 亚洲情侣在线| 亚洲天天在线日亚洲洲精| 国产伦精品一区二区三区妓女下载 | 日韩激情视频在线播放| 欧美精品v日韩精品v国产精品| 国产毛片在线视频| 秋霞午夜av一区二区三区| 久久久久久亚洲精品| 最新av电影网站| 欧美精品乱码| 亚洲美女免费精品视频在线观看| av不卡中文字幕| 粉嫩av国产一区二区三区| 日本道色综合久久| 久章草在线视频| 超清av在线| 亚洲综合色丁香婷婷六月图片| 午夜欧美一区二区三区免费观看| 亚洲精品国产av| 国产成人综合在线观看| 成人国产精品日本在线| 中文字幕视频在线播放| 日韩精品成人一区二区在线| 欧美伊久线香蕉线新在线| 日韩av在线播| 亚洲成人资源| 韩国三级电影久久久久久| 久久99久久99精品免费看小说| 成人精品视频| 中文字幕日韩综合av| 日本综合在线观看| 欧美日韩性在线观看| 国产亚洲a∨片在线观看| 毛片网站免费观看| 国产亚洲欧美日韩在线观看一区二区 | 人妻体体内射精一区二区| 欧美日韩免费电影| 欧美日韩激情在线| 国产欧美精品一二三| 亚洲精品观看| 亚洲激情第一页| 黄瓜视频污在线观看| 国产免费久久| 日韩中文字幕不卡视频| 国产精品免费人成网站酒店| 综合天堂久久久久久久| 欧美福利在线观看| 日韩美女黄色片| 鲁大师成人一区二区三区| 国产精品入口日韩视频大尺度| 亚洲自拍第二页| 国产精品综合网| 久久精品国产综合精品| 欧美老女人性开放| 中文字幕在线一区免费| 99视频精品全部免费看| 大桥未久在线播放| 色噜噜狠狠成人中文综合| 五月天中文字幕在线| 精品视频一区二区三区| 亚洲精品成人免费| 国产亚洲精品精品精品| 欧美激情一级片一区二区| 高清欧美性猛交| 销魂美女一区二区| 捆绑紧缚一区二区三区视频| 成人一区二区在线| 国产福利片在线| 亚洲伦在线观看| 国产免费一区二区视频| 日韩一区二区三区在线免费观看| 91麻豆精品国产91久久久资源速度 | 亚洲精品aaaaa| 中文字幕亚洲二区| 日韩成人免费在线视频| 久久99精品久久久久婷婷| 成人黄动漫网站免费| 国产二区在线播放| 亚洲一区二区三区爽爽爽爽爽| 久久精品网站视频| 婷婷综合国产| 中文欧美日本在线资源| 亚洲高清资源综合久久精品| 波多野结衣家庭教师在线观看| 你懂的网址国产 欧美| 欧美壮男野外gaytube| 国产精品久久久久久免费免熟| 99在线精品免费| 99热都是精品| 欧亚一区二区| 日韩成人性视频| 久久久久久久久久久久久女过产乱| 免费中文字幕日韩欧美| 成人免费看片网站| 日本韩国在线视频爽| 色悠悠久久综合| 麻豆短视频在线观看| 亚洲成人精品| 国产精品美女午夜av| 在线观看xxx| 亚洲国产日日夜夜| 一级黄色免费毛片| 久久人人88| 国产精品99导航| 婷婷婷国产在线视频| 亚洲综合丁香婷婷六月香| 亚洲精品成人在线播放| 国产午夜一区| 日韩av观看网址| 熟妇人妻av无码一区二区三区| 亚洲美女屁股眼交3| 国产免费中文字幕| 日韩欧美二区| 国产精品免费福利| 国产大片在线免费观看 | 99精品在线播放| 丰满少妇久久久久久久| 一区二区三区四区免费观看| 四虎成人精品一区二区免费网站| 亚洲人成毛片在线播放| 可以免费看的av毛片| 丁香天五香天堂综合| av 日韩 人妻 黑人 综合 无码| 亚洲久草在线| 久久激情视频免费观看| 国产又黄又粗又硬| 亚洲视频在线一区| 一级网站在线观看| 亚洲综合婷婷| av一区二区三区在线观看| 在线免费观看污| 精品国产一区二区精华| 日韩欧美激情视频| 久久综合色婷婷| 亚洲中文字幕久久精品无码喷水 | 亚洲天堂av网| 中日精品一色哟哟| 成人免费一区二区三区视频 | 国产97在线 | 亚洲| 欧洲在线一区| 人人爽久久涩噜噜噜网站| 国产在线视频福利| 欧美日韩成人一区| 欧美又粗又大又长| 成人白浆超碰人人人人| 欧美网站免费观看| 欧美在线电影| 成人在线视频网站| 91丝袜在线| 亚洲色图日韩av| 一级片一区二区三区| 一区二区三区产品免费精品久久75 | 亚洲天堂一区二区| 色yeye香蕉凹凸一区二区av| 99久久精品国产一区二区成人| 亚洲图片欧美视频| 91中文字幕永久在线| 美国一区二区三区在线播放| 400部精品国偷自产在线观看| 精品福利一区| 国产精品自拍小视频| av网站在线免费看推荐| 日韩激情片免费| 国产又大又黄又爽| 精品美女久久久久久免费| 老司机福利在线观看| 懂色一区二区三区免费观看| 久久久精品在线视频| 99视频精品全国免费| 国产精品香蕉视屏| 免费污视频在线一区| 欧美极品美女电影一区| 黄色大片在线免费观看| 日韩午夜激情电影| 无码人妻av一区二区三区波多野| 亚洲天堂网中文字| 免费黄色在线视频| 国产精品主播直播| 男人亚洲天堂网| 午夜久久久久| 亚洲国产一区二区三区在线播 | 久久久久久久久久久久国产| 久久精品亚洲精品国产欧美kt∨| 手机在线播放av| 青青青伊人色综合久久| 人妻av中文系列| 日韩激情免费| 麻豆成人小视频| 中文一区二区三区四区| 国产精品亚洲аv天堂网| 激情视频网站在线播放色 | 成人性教育av免费网址| 欧美精品在线极品| seseavlu视频在线| 精品丝袜一区二区三区| 国模人体一区二区| 7777精品伊人久久久大香线蕉最新版| 国产性xxxx高清| 亚洲一区二区三区在线| 欧美爱爱免费视频| 国产精品亲子伦对白| av网站免费在线看| 91亚洲国产成人精品一区二区三 | 久久久亚洲午夜电影| 国产人妖在线观看| 国产一区在线视频| 中文字幕在线视频精品| 久久97超碰国产精品超碰| 国产亚洲天堂网| 一本一本久久| 成年人午夜免费视频| 亚洲午夜av| 国产日本在线播放| 国产精品www994| 国风产精品一区二区| 亚洲综合五月| 国产av不卡一区二区| 久久久久国产精品| 91手机视频在线| 亚洲成人99| 日韩亚洲欧美一区二区| 一本到12不卡视频在线dvd| 在线看成人av电影| 一个色综合网| 国产免费xxx| 欧美精选一区| 很污的网站在线观看| 日韩视频在线一区二区三区 | 美女福利一区二区| 日韩av手机在线| 日本美女久久| 91亚洲精品在线| 欧美大片91| 国产亚洲福利社区| 性人久久久久| 色播亚洲婷婷| 亚洲在线久久| 免费无码毛片一区二三区| 国产精品普通话对白| 亚洲人成无码www久久久| 日本aⅴ亚洲精品中文乱码| 欧美三级午夜理伦三级富婆| 狠狠色狠狠色合久久伊人| 人妻巨大乳一二三区| www.视频一区| 在线观看免费小视频| 综合久久给合久久狠狠狠97色| 久草视频在线资源站| 精品福利免费观看| 亚洲精品一区二区二区| 91精品综合久久久久久| 蜜桃视频久久一区免费观看入口| 精品香蕉一区二区三区| www日韩tube| 欧美激情xxxxx| 超级碰碰久久| 成人有码视频在线播放| 黄色欧美网站| 亚洲国产精品久久久久婷婷老年 | 亚洲一区二区三区小说| 三级网站在线播放| 3atv一区二区三区| 五月天婷婷在线播放| 日韩一区二区av| 美女的胸无遮挡在线观看| 国产精品无码专区在线观看| 成人另类视频| 亚洲精品永久www嫩草| 在线欧美三区| 免费网站在线观看黄| 2020国产成人综合网| 97成人资源站| 日本韩国一区二区三区视频| 国产99久久九九精品无码免费| 亚洲九九九在线观看| 日本中文字幕中出在线| 日韩av快播网址| 鲁大师精品99久久久| 亚洲成年人专区| 久久综合影视| 久草视频福利在线| 国产精品女同互慰在线看| 午夜精品久久久久久久久久久久久蜜桃| 精品视频色一区| 欧美女子与性| 91国产高清在线| 国产 日韩 欧美| 天天人人精品| 免费在线亚洲| 亚洲色图欧美另类| 亚洲青青青在线视频| 中文字幕在线日本| 亚洲国产高清高潮精品美女| 成人福利在线观看视频| 国产精品免费久久久久影院| 欧美18xxxx| 性一交一乱一伧国产女士spa| 精品一区二区三区蜜桃| 国产又黄又粗视频| 色综合天天性综合| 四虎成人免费在线| 久久久爽爽爽美女图片| 日韩在线观看中文字幕| 国产av不卡一区二区| 美女国产一区二区| 精品成人无码一区二区三区| 欧美日韩免费在线观看| 熟妇人妻中文av无码| 欧美大片免费观看| 日韩免费成人| 日本美女爱爱视频| 国产一区三区三区| 91精品国产闺蜜国产在线闺蜜| 欧洲国内综合视频| 精品视频三区| 国产精品扒开腿做爽爽爽男男| 日韩av网站在线免费观看| 黄色www网站| 99久久久精品| 亚洲另类在线观看| 亚洲欧美国产另类| 高清成人在线| 水蜜桃一区二区三区| 蜜乳av一区二区三区| 成年人看的免费视频| 欧美日韩不卡一区| 欧美成人高清在线| 亚洲一区二区三区成人在线视频精品 | 成人在线爆射| 四虎永久国产精品| 另类的小说在线视频另类成人小视频在线 | 久久影院一区| 久久精品久久99| 一区二区三区欧美视频| 蜜桃在线一区二区| 琪琪第一精品导航| 日韩精品免费| 久久精品一二三四| 亚洲成va人在线观看| 青青久在线视频免费观看| 国产精品久久久久aaaa九色| 日韩国产综合| 97中文字幕在线观看| 精品久久在线播放| 国产小视频免费在线观看| 国产精品吴梦梦| 亚洲视频精品| 成人免费无遮挡无码黄漫视频| 欧美三级韩国三级日本一级| 麻豆视频免费在线观看| 国产免费一区二区| 美女黄色成人网| 日韩av手机在线免费观看| 精品国产a毛片| 欧美激情喷水| 国产日韩欧美大片| 91欧美激情一区二区三区成人| 国产一级片免费在线观看| 久久综合88中文色鬼| 国产乱人伦丫前精品视频| 毛葺葺老太做受视频| 亚洲天堂久久久久久久| 熟妇人妻中文av无码| 国产精品一区二区性色av| 好吊日精品视频| 人人爽人人爽人人片| 日韩欧美不卡一区| 亚洲mmav| 蜜臀av无码一区二区三区| 国产精品毛片高清在线完整版| 亚洲国产精品久久人人爱潘金莲 | 欧美区一区二区| 乱子伦视频在线看| 一区二区三区**美女毛片| 成人亚洲综合天堂|