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

基于 Istio 的全鏈路灰度方案探索和實踐

網絡
阿里云 ASM Pro(相關鏈接請見文末)基于 Service Mesh 所構建的全鏈路灰度方案,能很好的解決在同一套生產系統(tǒng)中完成新版本上線前的功能驗證和更好地控制新版本軟件上線的風險和爆炸半徑。

背景

微服務軟件架構下,業(yè)務新功能上線前搭建完整的一套測試系統(tǒng)進行驗證是相當費人費時的事,隨著所拆分出微服務數量的不斷增大其難度也愈大。這一整套測試系統(tǒng)所需付出的機器成本往往也不低,為了保證應用新版本上線前的功能正確性驗證效率,這套系統(tǒng)還必須一直單獨維護好。當業(yè)務變得龐大且復雜時,往往還得準備多套,這是整個行業(yè)共同面臨且難解的成本和效率挑戰(zhàn)。如果能在同一套生產系統(tǒng)中完成新版本上線前的功能驗證的話,所節(jié)約的人力和財力是相當可觀的。

除了開發(fā)階段的功能驗證,生產環(huán)境中引入灰度發(fā)布才能更好地控制新版本軟件上線的風險和爆炸半徑。灰度發(fā)布是將具有一定特征或者比例的生產流量分配到需要被驗證的服務版本中,以觀察新版本上線后的運行狀態(tài)是否符合預期。

阿里云 ASM Pro(相關鏈接請見文末)基于 Service Mesh 所構建的全鏈路灰度方案,能很好幫助解決以上兩個場景的問題。

ASM Pro 產品功能架構圖:

 

核心能力使用的就是上圖擴展的流量打標和按標路由以及流量 Fallback 的能力,下面詳細介紹說明。

場景說明

全鏈路灰度發(fā)布的常見場景如下:

以 Bookinfo 為例,入口流量會帶上期望的 tag 分組,sidecar 通過獲取請求上下文(Header 或 Context) 中的期望 tag,將流量路由分發(fā)到對應 tag 分組,若對應 tag 分組不存在,默認會 fallback 路由到 base 分組,具體 fallback 策略可配置。接下來詳細描述具體的實現細節(jié)。

入口流量的 tag 標簽,一般是在網關層面基于類似 tag 插件的方式,將請求流量進行打標。 比如將 userid 處于一定范圍的打上代表灰度的 tag,考慮到實際環(huán)境網關的選擇和實現的多樣性,網關這塊實現不在本文討論的范圍內。

下面我們著重討論基于 ASM Pro 如何做到全鏈路流量打標和實現全鏈路灰度。

實現原理

Inbound 是指請求發(fā)到 App 的入口流量,Outbond 是指 App 向外發(fā)起請求的出口流量。

上圖是一個業(yè)務應用在開啟 mesh 后典型流量路徑:業(yè)務 App 接收到一個外部請求 p1,接著調用背后所依賴的另一個服務的接口。此時,請求的流量路徑是 p1->p2->p3->p4,其中 p2 是 Sidecar 對 p1 的轉發(fā),p4 是 Sidecar 對 p3 的轉發(fā)。為了實現全鏈路灰度,p3 和 p4 都需要獲取到 p1 進來的流量標簽,才能將請求路由到標簽所對應的后端服務實例,且 p3 和 p4 也要帶上同樣的標簽。關鍵在于,如何讓標簽的傳遞對于應用完全無感,從而實現全鏈路的標簽透傳,這是全鏈路灰度的關鍵技術。ASM Pro 的實現是基于分布式鏈路追蹤技術(比如,OpenTracing、OpenTelemetry 等)中的 traceId 來實現這一功能。

在分布式鏈路追蹤技術中,traceId 被用于唯一地標識一個完整的調用鏈,鏈路上的每一個應用所發(fā)出的扇出(fanout)調用,都會通過分布式鏈路追蹤的 SDK 將源頭的 traceId 給帶上。ASM Pro 全鏈路灰度解決方案的實現正是建立在這一分布式應用架構所廣泛采納的實踐之上的。

上圖中,Sidecar 本來所看到的 inbound 和 outbound 流量是完全獨立的,無法感知兩者的對應關系,也不清楚一個 inbound 請求是否導致了多個 outbound 請求的發(fā)生。換句話說,圖中 p1 和 p3 兩個請求之間是否有對應關系 Sidecar 并不知情。

在 ASM Pro 全鏈路灰度解決方案中,通過 traceId 將 p1 和 p3 兩個請求做關聯,具體說來依賴了 Sidecar 中的 x-request-id 這個 trace header。Sidecar 內部維護了一張映射表,其中記錄了 traceId 和標簽的對應關系。當 Sidecar 收到 p1 請求時,將請求中的 traceId 和標簽存儲到這張表中。當收到 p3 請求時,從映射表中查詢獲得 traceId 所對應的標簽并將這一標簽加入到 p4 請求中,從而實現全鏈路的打標和按標路由。下圖大致示例了這一實現原理。

換句話說,ASM Pro 的全鏈路灰度功能需要應用使用分布式鏈路追蹤技術。如果想運用這一技術的應用沒有使用分布式鏈路追蹤技術的話不可避免地涉及到一定的改造工作。對于 Java 應用來說,仍可以考慮采用 Java Agent 以 AOP 的方式讓業(yè)務無需改造地實現 traceId 在 inbound 和 outbound 之間透傳。

實現流量打標

ASM Pro 中引入了全新的 TrafficLabel CRD 用于定義 Sidecar 所需透傳的流量標簽從哪里獲取。下面所例舉的 YAML 文件中,定義了流量標簽來源和需要將標簽存儲 OpenTracing 中(具體是 x-trace 頭)。其中流量標的名為 trafficLabel,取值依次從 $getContext(x-request-id) 到最后從本地環(huán)境的$(localLabel)中獲取。

  1. apiVersion: istio.alibabacloud.com/v1beta1kind: TrafficLabelmetadata:  name: defaultspec:  rules:  - labels:      - name: trafficLabel        valueFrom:        - $getContext(x-request-id)  //若使用aliyun arms,對應為x-b3-traceid        - $(localLabel)    attachTo:    - opentracing    # 表示生效的協(xié)議,空為都不生效,*為都生效    protocols: "*" 

CR 定義包含兩塊,即標簽的獲取和存儲。

獲取邏輯:先根據協(xié)議上下文或者頭(Header 部分)中的定義的字段獲取流量標簽,如果沒有,會根據 traceId 通過 Sidecar 本地記錄的 map 獲取, 該 map 表中保存了 traceId 對應流量標識的映射。若 map 表中找到對應映射,會將該流量打上對應的流量標,若獲取不到,會將流量標取值為本地部署對應環(huán)境的 localLabel。localLabel 對應本地部署的關聯 label,label 名為 ASM_TRAFFIC_TAG。

本地部署對應環(huán)境的標簽名為"ASM_TRAFFIC_TAG",實際部署可以結合 CI/CD 系統(tǒng)來關聯。

存儲邏輯:attachTo 指定存儲在協(xié)議上下文的對應字段,比如 HTTP 對應 Header 字段,Dubbo 對應 rpc context 部分,具體存儲到哪一個字段中可配置。

有了TrafficLabel 的定義,我們知道如何將流量打標和傳遞標簽,但光有這個還不足以做到全鏈路灰度,我們還需要一個可以基于 trafficLabel 流量標識來做路由的功能,也就是“按標路由”,以及路由 fallback 等邏輯,以便當路由的目的地不存在時,可以實現降級的功能。

按流量標簽路由

這一功能的實現擴展了 Istio 的 VirtualService 和 DestinationRule。

在 DestinationRule 中定義 Subset

自定義分組 subset 對應的是 trafficLabel 的 value

  1. apiVersion: networking.istio.io/v1alpha3kind: DestinationRulemetadata:  name: myappspec:  host: myapp/*  subsets:  - name: myproject            # 項目環(huán)境    labels:      env: abc  - name: isolation            # 隔離環(huán)境    labels:      env: xxx                 # 機器分組  - name: testing-trunk        # 主干環(huán)境    labels:      env: yyy  - name: testing              # 日常環(huán)境    labels:      env: zzz---apiVersion: networking.istio.io/v1alpha3kind: ServiceEntrymetadata:  name: myappspec:  hosts:         - myapp/*  ports:  - number: 12200    name: http    protocol: HTTP    endpoints:      - address: 0.0.0.0        labels:            env: abc      - address: 1.1.1.1        labels:            env: xxx      - address: 2.2.2.2        labels:            env: zzz      - address: 3.3.3.3        labels:            env: yyy 

Subset 支持兩種指定形式:

labels 用于匹配應用中帶特定標記的節(jié)點(endpoint);
通過 ServiceEntry 用于指定屬于特定 subset 的 IP 地址,注意這種方式與labels指定邏輯不同,它們可以不是從注冊中心(K8s 或者其他)拿到的地址,直接通過配置的方式指定。適用于 Mock 環(huán)境,這個環(huán)境下的節(jié)點并沒有向服務注冊中心注冊。

在 VirtualService 中基于 subset

1)全局默認配置

route 部分可以按順序指定多個 destination,多個 destination 之間按照 weight 值的比例來分配流量。
每個 destination 下可以指定 fallback 策略,case 標識在什么情況下執(zhí)行 fallback,取值:noinstances(無服務資源)、noavailabled(有服務資源但是服務不可用),target 指定 fallback 的目標環(huán)境。如果不指定 fallback,則強制在該 destination 的環(huán)境下執(zhí)行。
按標路由邏輯,我們通過改造 VirtualService,讓 subset 支持占位符 $trafficLabel, 該占位符 $trafficLabel 表示從請求流量標中獲取目標環(huán)境, 對應 TrafficLabel CR 中的定義。

全局默認模式對應泳道,也就是單個環(huán)境內封閉,同時指定了環(huán)境級別的 fallback 策略。自定義分組 subset 對應的是 trafficLabel 的 value

配置樣例如下:

  1. apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata:  name: default-routespec:  hosts:                     # 對所有應用生效  - */*  http:  - name: default-route    route:    - destination:        subset: $trafficLabel      weight: 100      fallback:         case: noinstances         target: testing-trunk    - destination:            host: */*        subset: testing-trunk    # 主干環(huán)境      weight: 0      fallback:        case: noavailabled        target: testing    - destination:        subset: testing          # 日常環(huán)境      weight: 0      fallback:        case: noavailabled        target: mock    - destination:            host: */*        subset: mock             # Mock中心       weight: 0 

2)個人開發(fā)環(huán)境定制

先打到日常環(huán)境,當日常環(huán)境沒有服務資源時,再打到主干環(huán)境。

  1. apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata:  name: projectx-routespec:  hosts:                   # 只對myapp生效  - myapp/*  http:  - name: dev-x-route    match:      trafficLabel:      - exact: dev-x       # dev環(huán)境: x    route:    - destination:            host: myapp/*        subset: testing          # 日常環(huán)境      weight: 100      fallback:        case: noinstances        target: testing-trunk    - destination:            host: myapp/*        subset: testing-trunk    # 主干環(huán)境      weight: 0 

3) 支持權重配置

將打了主干環(huán)境標并且本機環(huán)境是 dev-x 的流量,80% 打到主干環(huán)境,20% 打到日常環(huán)境。當主干環(huán)境沒有可用的服務資源時,流量打到日常。

sourceLabels 為本地 workload 對應的 label

  1. apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata:  name: dev-x-routespec:  hosts:                   # 對哪些應用生效(不支持多應用配置)  - myapp/*  http:  - name: dev-x-route    match:      trafficLabel:      - exact: testing-trunk # 主干環(huán)境標      sourceLabels:      - exact: dev-x  # 流量來自某個項目環(huán)境    route:    - destination:            host: myapp/*        subset: testing-trunk # 80%流量打向主干環(huán)境      weight: 80      fallback:        case: noavailabled        target: testing    - destination:            host: myapp/*        subset: testing       # 20%流量打向日常環(huán)境      weight: 20 

按(環(huán)境)標路由

該方案依賴業(yè)務部署應用時帶上相關標識(例子中對應 label 為 ASM_TRAFFIC_TAG: xxx),常見為環(huán)境標識,標識可以理解是服務部署的相關元信息,這個依賴上游部署系統(tǒng) CI/CD 系統(tǒng)的串聯,大概示意圖如下:

K8s 場景,通過業(yè)務部署時自動帶上對應環(huán)境/分組 label 標識即可,也就是采用K8s 本身作為元數據管理中心。
非 K8s 場景,可以通過微服務已集成的服務注冊中心或者元數據配置管理服務(metadata server)來集成實現。

注:ASM Pro 自研開發(fā)了ServiceDiretory 組件(可以參看 ASM Pro 產品功能架構圖),實現了多注冊中心對接以及部署元信息的動態(tài)獲??;

應用場景延伸

下面是典型的一個基于流量打標和按標路由實現的多套開發(fā)環(huán)境治理功能;每個開發(fā)者對應的 Dev X 環(huán)境只需部署有版本更新的服務即可;如果需要和其他開發(fā)者聯調,可以通過配置 fallback 將服務請求 fallback 流轉到對應開發(fā)環(huán)境即可。如下圖的 Dev Y 環(huán)境的B -> Dev X 環(huán)境的 C。

同理,將 Dev X 環(huán)境等同于線上灰度版本環(huán)境也是可以的,對應可以解決線上環(huán)境的全鏈路灰度發(fā)布問題。

總結

本文介紹的基于“流量打標”和“按標路由” 能力是一個通用方案,基于此可以較好地解決測試環(huán)境治理、線上全鏈路灰度發(fā)布等相關問題,基于服務網格技術做到與開發(fā)語言無關。同時,該方案適應于不同的7層協(xié)議,當前已支持 HTTP/gRpc 和 Dubbo 協(xié)議。

對應全鏈路灰度,其他廠商也有一些方案,對比其他方案 ASM Pro 的解決方案的優(yōu)點是:

  • 支持多語言、多協(xié)議。
  • 統(tǒng)一配置模板 TrafficLabel, 配置簡單且靈活,支持多級別的配置(全局、namespace 、pod 級別)。
  • 支持路由 fallback 實現降級。

基于“流量打標” 和 “按標路由”能力還可以用于其他相關場景:

  1. 大促前的性能壓測。在線上壓測的場景中,為了讓壓測數據和正式的線上數據實現隔離,常用的方法是對于消息隊列,緩存,數據庫使用影子的方式。這就需要流量打標的技術,通過 tag 區(qū)分請求是測試流量還是生產流量。當然,這需要 Sidecar 對中間件比如 Redis、RocketMQ 等進行支持。
  2. 單元化路由。常見的單元化路由場景,可能是需要根據請求流量中的某些元信息比如 uid,然后通過配置得出對應所屬的單元。在這個場景中,我們可以通過擴展 TrafficLabel 定義獲取“單元標”的函數來給流量打上“單元標”,然后基于“單元標”將流量路由到對應的服務單元。

 

責任編輯:梁菲 來源: 阿里云云棲號
相關推薦

2024-12-16 13:34:35

2025-03-04 08:53:10

2024-01-05 00:29:36

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

2023-10-16 23:43:52

云原生可觀測性

2022-08-31 22:25:53

微服務架構DevOPs

2023-05-31 14:54:32

2023-10-30 07:25:37

數據湖數據處理

2023-03-13 18:35:33

灰度環(huán)境golang編排等

2023-11-21 09:35:49

全量部署微服務

2023-09-14 10:04:31

vivo數據中心網絡

2022-01-05 08:27:17

C++全鏈路追蹤

2018-07-03 15:56:59

騰訊

2025-10-10 08:58:13

2023-01-30 22:34:44

Node.js前端

2022-12-26 11:57:41

數據庫治理

2024-09-19 14:02:16

2022-08-07 21:59:57

高可用架構

2022-11-24 08:35:28

KitexProxyless

2024-07-25 11:58:35

2019-06-27 09:43:03

監(jiān)控架構Dapper
點贊
收藏

51CTO技術棧公眾號

欧美激情国产精品免费| 香蕉视频在线网址| 福利网址在线观看| 日韩精品午夜| 欧美精品一二三区| 国产情侣第一页| 亚洲精品久久久久久久久久| 夜夜嗨av一区二区三区网站四季av| 亚洲电影免费观看| 老头吃奶性行交视频| 欧美黑人在线观看| 日韩精品卡通动漫网站| 福利在线免费视频| 国产三级久久久| 国产一区二区色| 久久免费视频99| 久久亚州av| 欧美在线观看视频一区二区| 熟妇熟女乱妇乱女网站| 四虎免费在线观看| 日韩av不卡在线观看| 日韩在线观看免费| 水蜜桃av无码| 在线免费成人| 欧美日韩免费在线| 五月天综合婷婷| 丰满熟妇乱又伦| 美国三级日本三级久久99| 欧美高清一级大片| 色婷婷在线影院| 51精品国产| 欧美性猛交xxxxxx富婆| 国产精品久久久久久久久久久免费看| 成人激情在线播放| 无码人妻熟妇av又粗又大| 91精品国产调教在线观看| 亚洲精品国偷自产在线99热| 午夜免费福利网站| 综合在线影院| 亚洲高清视频在线| 在线视频欧美一区| 久蕉在线视频| 91小视频免费观看| 国产精品高清一区二区三区| 中文字幕在线2019| 久久精品一区二区国产| 久久久这里只有精品视频| 男人天堂资源网| 欧美精品第一区| 亚洲国产精品免费| 国产成人精品综合久久久久99| av成人在线观看| 欧美性猛交xxx| 国产欧美精品aaaaaa片| 久草免费在线观看| 中文字幕免费不卡在线| 日本在线成人一区二区| 日色在线视频| 2020国产精品久久精品美国| www.久久久| 国产美女无遮挡永久免费| 日本少妇一区二区| 国产精品大片wwwwww| 亚洲天堂视频网站| 国产一区二区三区久久| 久久久久免费精品国产| 青青草综合在线| 污污的网站免费| 高清电影在线免费观看| 日韩理论片中文av| 中文字幕中文字幕99| 欧美另类极品| 国产精品久久久久久久久搜平片| 天天综合色天天综合色hd| 三级国产在线观看| 久久精品一区蜜桃臀影院| 久久综合给合久久狠狠色| 熟妇高潮一区二区高潮| av一二三不卡影片| 亚洲综合成人婷婷小说| 国产av无码专区亚洲av| 国产精品一二一区| 99热99热| 少妇荡乳情欲办公室456视频| 成人国产精品免费观看| 韩日午夜在线资源一区二区| 无码国产色欲xxxx视频 | 日本wwww视频| 全亚洲第一av番号网站| 欧洲激情一区二区| 日韩有码免费视频| 国产亚洲欧美日韩精品一区二区三区| 91成人在线免费观看| 国产九九热视频| 97久久精品一区二区三区的观看方式| 日韩一区二区电影在线| 极品白嫩的小少妇| 国产一区二区亚洲| 久久久精品美女| 伊人国产在线观看| 亚洲欧美视频| 成人欧美在线视频| 亚洲AV无码乱码国产精品牛牛| 日本中文字幕一区| 91九色单男在线观看| 日本韩国在线观看| 国产欧美中文在线| www.亚洲一区二区| 美女高潮在线观看| 欧美日韩电影一区| 国产黑丝在线观看| 欧美亚洲激情| 国内成人精品一区| 一区二区视频免费观看| 婷婷av在线| 影音先锋久久资源网| 日本精品久久久| 一级片视频网站| 国产很黄免费观看久久| 久久草.com| 日本高清在线观看| 欧美日韩国产大片| 色欲av无码一区二区三区| 国产精品s色| 91精品美女在线| 99中文字幕一区| 在线亚洲精品福利网址导航| 人妻av一区二区| 国产精品jizz在线观看美国| 成人黄色片在线| 香蕉视频国产在线观看| 91福利视频网站| 美女100%无挡| 久久久久国产精品午夜一区| 九九九九精品| 精产国品自在线www| 欧美天天综合网| 久久丫精品忘忧草西安产品| 一级成人国产| 国产伦理一区二区三区| 先锋成人av| 日韩欧美你懂的| 免费视频网站www| 国产伦精一区二区三区| 91麻豆天美传媒在线| www.久久草.com| 中文字幕亚洲天堂| 在线观看免费中文字幕| 国产精品国产三级国产三级人妇| 在线观看的毛片| 欧美男gay| 国产精品久久久久一区二区| 国产在线网站| 欧洲在线/亚洲| 成年人免费视频播放| 日韩电影一区二区三区四区| 天堂va久久久噜噜噜久久va| 欧美色片在线观看| 久久精品国产精品| 精品人妻aV中文字幕乱码色欲| 亚洲激情自拍偷拍| 精品人妻一区二区三区日产| www.毛片.com| 99精品国产在热久久婷婷| 久久精品国产美女| 欧美最新精品| 久久精品电影网| 亚洲欧美强伦一区二区| 精品久久中文字幕| 2019男人天堂| 国产精品1024| 欧美一级在线看| 精品亚洲成人| 999国内精品视频在线| 国产精品69xx| 国产小视频91| jlzzjlzzjlzz亚洲人| 午夜精品久久久久久久99樱桃| 欧美熟妇精品黑人巨大一二三区| 日韩国产欧美在线视频| 91精品国产吴梦梦| 欧美性生活一级片| 国产精品女人网站| 午夜羞羞小视频在线观看| 日韩大陆毛片av| 亚洲性生活大片| 一区二区三区视频在线看| 日本护士做爰视频| 另类小说综合欧美亚洲| www.国产在线播放| 日韩成人精品一区| 国产精品一区二区三区观看| 色婷婷综合久久久中字幕精品久久| 久久久999精品| 天堂中文在线资源| 欧美日韩国产电影| 丁香六月婷婷综合| 一区二区三区中文字幕精品精品| 人妻体内射精一区二区| 国产精品123| 男女视频在线看| 影音先锋中文字幕一区| 杨幂一区欧美专区| 欧美激情影院| 国产精品亚洲激情| 国产网站在线| 精品少妇一区二区30p| 成人免费视频| 日韩av在线免费| 国产高潮流白浆喷水视频| 在线观看国产日韩| 久久久久久久久久免费视频| 一区精品在线播放| 国产精品久久久久久久av| av电影在线观看一区| 青娱乐精品在线| 蜜臀精品久久久久久蜜臀| 国产精品第三页| caopeng视频| 国产精品白丝jk黑袜喷水| 波多野结衣天堂| 久久婷婷影院| 欧美 日本 亚洲| 国产综合婷婷| 国产在线无码精品| 羞羞色午夜精品一区二区三区| 欧美一区免费视频| 日韩理论电影中文字幕| 国产91亚洲精品一区二区三区| 色999韩欧美国产综合俺来也| 日本精品va在线观看| 日韩伦理在线| 欧美一区二区色| 九色porny丨入口在线| 欧美精品999| 婷婷av在线| 欧美黄色片在线观看| 日本小视频在线免费观看| 久久中文字幕在线| 黄色网页在线免费观看| 在线成人免费网站| aⅴ在线视频男人的天堂 | 2018日韩中文字幕| 99爱在线观看| 欧美做受高潮1| 在线手机中文字幕| 清纯唯美亚洲综合| 伊人久久高清| 国产精品视频1区| 国产一区高清| 91免费精品国偷自产在线| www.成人在线.com| 成人情视频高清免费观看电影| 91国内精品| 国内成+人亚洲| 特黄特色欧美大片| 日本公妇乱淫免费视频一区三区| 欧美日韩一二三四| 亚洲最新在线| 黄色亚洲免费| 欧洲黄色一级视频| 日韩成人精品在线| 911av视频| 成人av动漫在线| 人人人妻人人澡人人爽欧美一区| 中文字幕第一区综合| 顶级黑人搡bbw搡bbbb搡| 亚洲精品老司机| 日韩av女优在线观看| 一本久久精品一区二区| 伊人色综合久久久| 欧美大片在线观看| 麻豆影视在线| 久久久成人的性感天堂| segui88久久综合| 国产97在线亚洲| 黄片毛片在线看| 久久99日本精品| 91性高潮久久久久久久| 99视频在线精品| 国产一二三av| 性做久久久久久久免费看| 极品国产91在线网站| 7777精品久久久大香线蕉| 欧美一级一区二区三区| 一区二区三区四区精品| 深夜国产在线播放| 日韩暖暖在线视频| 一区二区免费| 日韩女优中文字幕| 欧美色图首页| xx欧美撒尿嘘撒尿xx| 丰满白嫩尤物一区二区| 国产视频三区四区| 亚洲一区二区三区自拍| 亚洲性猛交富婆| 亚洲电影av在线| 麻豆影视在线观看_| 91精品国产99| 国产亚洲亚洲国产一二区| 久久精品国产理论片免费| 亚洲澳门在线| 黑鬼大战白妞高潮喷白浆| 国产精品一区二区在线播放 | 国产午夜一区| 日韩极品视频在线观看 | 色老头久久综合| 欧美 日韩 人妻 高清 中文| xxx欧美精品| 欧洲精品一区二区三区| 国产一区精品视频| 欧美精品色网| 成人性生交视频免费观看| 久久免费看少妇高潮| 国产极品美女高潮无套嗷嗷叫酒店| 欧美日本国产一区| 国产日本在线观看| 91福利视频在线观看| 秋霞影院一区| 一本二本三本亚洲码 | 在线视频观看一区二区| 国产日韩一级二级三级| 黄色在线观看国产| 亚洲精品一区二区三区精华液| 超碰在线观看免费| 成人黄色影片在线| 欧美成人精品一区二区三区在线看| 日韩中文字幕组| 久久综合久久鬼色中文字| 国产精品美女毛片真酒店| 日韩一级高清毛片| caopo在线| 1卡2卡3卡精品视频| 国产精品久久久久一区二区三区厕所 | 少妇被狂c下部羞羞漫画| 亚洲一区二区欧美激情| 亚洲免费黄色片| 欧美激情一区二区三区在线视频观看| 中文字幕日韩亚洲| 国产精品av免费| 狠狠网亚洲精品| 国精产品一区一区二区三区mba| 欧美男生操女生| 好操啊在线观看免费视频| 成人黄色免费看| 欧美搞黄网站| 最新日本中文字幕| 亚洲成人av一区二区三区| 四虎精品一区二区三区| 欧美亚洲视频在线看网址| 夜夜春成人影院| 丁香婷婷激情网| 日韩一区中文字幕| www.五月天激情| 国内外成人免费激情在线视频网站| 大香伊人久久精品一区二区 | 久久影院午夜精品| 久久伊人一区| 日韩电影在线免费| 九九精品视频免费| 欧美本精品男人aⅴ天堂| 波多野结衣精品| 欧美国产视频在线观看| 日本强好片久久久久久aaa| 国产白丝一区二区三区| 777色狠狠一区二区三区| 日本三级韩国三级欧美三级| 国产亚洲精品美女久久久m| 另类激情亚洲| 糖心vlog免费在线观看| 日韩精品一区国产麻豆| 男人av在线播放| 天堂av一区二区| 国产91丝袜在线18| 丁香社区五月天| 久热国产精品视频| 婷婷亚洲成人| www.99r| 亚洲高清在线视频| av在线电影观看| 国产精品jizz视频| 日本三级亚洲精品| 久久免费小视频| 亚洲性69xxxbbb| 日韩三级av高清片| 男人透女人免费视频| 亚洲欧美国产77777| 青青草视频免费在线观看| 国产日韩专区在线| 99精品国产在热久久下载| 国产馆在线观看| 日韩精品亚洲精品| 亚洲人成网站在线在线观看| 免费看又黄又无码的网站| 国产精品色噜噜| 天堂在线观看av| 91大片在线观看| 日韩电影免费在线看| 久草免费在线观看视频| 中国china体内裑精亚洲片|