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

從0到1:美團端側CDN容災解決方案

原創 精選
開發 運維
本文結合美團外賣業務中的具體實踐,介紹了一種在端側感知CDN可用性狀況并進行自動容災切換的方案。

作者 | 魏磊 心澎 陳彤

CDN已經成為互聯網重要的基建之一,越來越多的網絡服務離不開CDN,它的穩定性也直接影響到業務的可用性。CDN的容災一直由美團的SRE團隊在負責,在端側鮮有方案和實踐。

本文結合美團外賣業務中的具體實踐,介紹了一種在端側感知CDN可用性狀況并進行自動容災切換的方案,通過該方案可有效降低業務對CDN異常的敏感,提高業務的可用性,同時降低CDN運維壓力。希望本方案能夠對被CDN問題所困擾的同學有所幫助或者啟發。

1. 前言

作為業務研發,你是否遇到過因為 CDN 問題導致的業務圖片加載失敗,頁面打開緩慢,頁面布局錯亂或者頁面白屏?你是否又遇到過某些區域 CDN 域名異常導致業務停擺,客訴不斷,此時的你一臉茫然,不知所措?作為 CDN 運維,你是否常常被業務方反饋的各種 CDN 問題搞得焦頭爛額,一邊頂著各種催促和壓力尋求解決方案,一邊抱怨著服務商的不靠譜?今天,我們主要介紹一下美團外賣技術團隊端側 CDN 的容災方案,經過實踐,我們發現該產品能有效減少運維及業務開發同學的焦慮,希望我們的這些經驗也能夠幫助到更多的技術團隊。

2. 背景

CDN 因能夠有效解決因分布、帶寬、服務器性能帶來的網絡訪問延遲等問題,已經成為互聯網不可或缺的一部分,也是前端業務嚴重依賴的服務之一。在實際業務生產中,我們通常會將大量的靜態資源如 JS 腳本、CSS 資源、圖片、視頻、音頻等托管至 CDN 服務,以享受其邊緣節點緩存對靜態資源的加速。但是在享用 CDN 服務帶來更好體驗的同時,也經常會被 CDN 故障所影響。比如因 CDN 邊緣節點異常,CDN 域名封禁等導致頁面白屏、排版錯亂、圖片加載失敗。每一次的 CDN 故障,業務方往往束手無策,只能寄希望于 CDN 團隊。而 CDN 的監控與問題排查,對 SRE 也是巨大的難題和挑戰。一方面,由于 CDN 節點的分布廣泛,邊緣節點的監控就異常困難。另一方面,各業務匯聚得到的 CDN 監控大盤,極大程度上隱匿了細節。小流量業務、定點區域的 CDN 異常往往會被淹沒。SRE 團隊也做了很多努力,設計了多種方案來降低 CDN 異常對業務的影響,也取得了一定的效果,但始終有幾個問題無法很好解決:

  • 時效性:當 CDN 出現問題時,SRE 會手動進行 CDN 切換,因為需要人為操作,響應時長就很難保證。另外,切換后故障恢復時間也無法準確保障。
  • 有效性:切換至備份 CDN 后,備份 CDN 的可用性無法驗證,另外因為 Local DNS 緩存,無法解決域名劫持和跨網訪問等問題。
  • 精準性:CDN 的切換都是大范圍的變更,無法針對某一區域或者某一項目單獨進行。
  • 風險性:切換至備份 CDN 之后可能會導致回源,流量劇增拖垮源站,從而引發更大的風險。

當前,美團外賣業務每天服務上億人次,即使再小的問題在巨大的流量面前,也會被放大成大問題。外賣的動態化架構,70%的業務資源都依賴于 CDN,所以 CDN 的可用性嚴重影響著外賣業務。如何更有效的進行 CDN 容災,降低 CDN 異常對業務的影響,是我們不斷思考的問題。既然以上問題 SRE 側無法完美地解決,端側是不是可以進行一些嘗試呢?比如將 CDN 容災前置到終端側。不死鳥(Phoenix) 就是在這樣的設想下,通過前端能力建設,不斷實踐和完善的一套端側 CDN 容災方案。該方案不僅能夠有效降低 CDN 異常對業務的影響,還能提高 CDN 資源加載成功率,現已服務整個美團多個業務和 App。

3. 目標與場景

3.1 核心目標

為降低 CDN 異常對業務的影響,提高業務可用性,同時降低 SRE 同學在 CDN 運維方面的壓力,在方案設計之初,我們確定了以下目標:

  • 端側 CDN 域名自動切換:在 CDN 異常時,端側第一時間感知并自動切換 CDN 域名進行加載重試,減少對人為操作的依賴。
  • CDN 域名隔離:CDN 域名與服務廠商在區域維度實現服務隔離且服務等效,保證 CDN 切換重試的有效性。
  • 更精準有效的 CDN 監控:建設更細粒度的 CDN 監控,能夠按照項目維度實時監控 CDN 可用性,解決 SRE CDN 監控粒度不足,告警滯后等問題。并根據容災監控對 CDN 容災策略實施動態調整,減少 SRE 切換 CDN 的頻率。
  • 域名持續熱備:保證每個 CDN 域名的持續預熱,避免流量切換時導致回源。

3.2 適用場景

適用所有依賴 CDN ,希望降低 CDN 異常對業務影響的端側場景,包括 Web、SSR Web、Native 等技術場景。

4. Phoenix 方案

一直以來,CDN 的穩定性是由 SRE 來保障,容災措施也一直在 SRE 側進行,但僅僅依靠鏈路層面上的保障,很難處理局部問題和實現快速止損。用戶終端作為業務的最終投放載體,對資源加載有著天然的獨立性和敏感性。如果將 CDN 容災前置到終端側,無論從時效性,精準性,都是 SRE 側無法比擬的。在端側進行容災,就需要感知 CDN 的可用性,然后實現端側自動切換的能力。我們調研整個前端領域,并未發現業內在端側 CDN 容災方面有所實踐和輸出,所以整個方案的實現是從無到有的一個過程。

4.1 總體設計

圖 1

Phoenix 端側 CDN 容災方案主要由五部分組成:

  • 端側容災 SDK:負責端側資源加載感知,CDN 切換重試,監控上報。
  • 動態計算服務:根據端側 SDK 上報數據,對多組等效域名按照城市、項目、時段等維度定時輪詢計算域名可用性,動態調整流量至最優 CDN。同時也是對 CDN 可用性的日常巡檢。
  • 容災監控平臺:從項目維度和大盤維度提供 CDN 可用性監控和告警,為問題排查提供詳細信息。
  • CDN 服務:提供完善的 CDN 鏈路服務,在架構上實現域名隔離,并為業務方提供等效域名服務,保證端側容災的有效性。等效域名,就是能夠通過相同路徑訪問到同一資源的域名,比如:cdn1.meituan.net/src/js/test.js 和 cdn2.meituan.net/src/js/test.js 能夠返回相同內容,則 cdn1.meituan.net 和 cdn2.meituan.net 互為等效域名。
  • 容災配置平臺:對項目容災域名進行配置管理,監控上報策略管理,并提供 CDN 流量人工干預等措施。

4.2 容災流程設計

為保證各個端側容災效果和監控指標的一致性,我們設計了統一的容災流程,整體流程如下:

圖 2

4.3 實現原理

4.3.1 端側容災 SDK

Web 端實現

Web 端的 CDN 資源主要是 JS、CSS 和圖片,所以我們的容災目標也聚焦于這些。在 Web 側的容災,我們主要實現了對靜態資源,異步資源和圖片資源的容災。實現思路要實現資源的容災,最主要的問題是感知資源加載結果。通常我們是在資源標簽上面添加錯誤回調來捕獲,圖片容災可以這樣實現,但這并不適合 JS,因為它有嚴格的執行順序。為了解決這一問題,我們將傳統的標簽加載資源的方式,換成XHR來實現。通過Webpack在工程構建階段把同步資源進行抽離,然后通過PhoenixLoader來加載資源。這樣就能通過網絡請求返回的狀態碼,來感知資源加載結果。在方案的實現上,我們將 SDK 設計成了 Webpack Plugin,主要基于以下四點考慮:

  1. 通用性:美團前端技術棧相對較多,要保證容災 SDK 能夠覆蓋大部分的技術框架。
  2. 易用性:過高的接入成本會增加開發人員的工作量,不能做到對業務的有效覆蓋,方案價值也就無從談起。
  3. 穩定性:方案要保持穩定可靠,不受 CDN 可用性干擾。
  4. 侵入性:不能侵入到正常業務,要做到即插即用,保證業務的穩定性。

通過調研發現,前端有 70%的工程構建都離不開 Webpack,而 Webpack Plugin 獨立配置,即插即用的特性,是實現方案的最好選擇。整體方案設計如下:

圖 3

當然,很多團隊在做性能優化時,會采取代碼分割,按需引入的方式。這部分資源在同步資源生成的過程中無法感知,但這部分資源的加載結果,也關系到業務的可用性。在對異步資源的容災方面,我們主要是通過對 Webpack 的異步資源處理方式進行重寫,使用Phoenix Loader接管資源加載,從而實現異步資源的容災。整體分析過程如下圖所示:

圖 4

CSS 資源的處理與 JS 有所差別,但原理相似,只需要重寫 mini-css-extract-plugin 的異步加載實現即可。Web 端方案資源加載示意:

圖 5

容災效果

圖6 容災大盤

圖7 容災案例

Native 端容災

客戶端的 CDN 資源主要是圖片,音視頻以及各種動態化方案的 bundle 資源。Native 端的容災建設也主要圍繞上述資源展開。實現思路重新請求是 Native 端 CDN 容災方案的基本原理,根據互備 CDN 域名,由 Native 容災基建容災域名重新進行請求資源,整個過程發生在原始請求失敗后。Native 容災基建不會在原始請求過程中進行任何操作,避免對原始請求產生影響。原始請求失敗后,Native 容災基建代理處理失敗返回,業務方仍處于等待結果狀態,重請新求結束后向業務方返回最終結果。整個過程中從業務方角度來看仍只發出一次請求,收到一次結果,從而達到業務方不感知的目的。為將重新請求效率提升至最佳,必須盡可能的保證重新請求次數趨向于最小。調研業務的關注點和技術層面使用的網絡框架,結合 Phoenix 容災方案的基本流程,在方案設計方面,我們主要考慮以下幾點:

  • 便捷性:接入的便捷性是 SDK 設計時首先考慮的內容,即業務方可以用最簡單的方式接入,實現資源容災,同時也可以簡單無殘留拆除 SDK。
  • 兼容性:Android 側的特殊性在于多樣的網絡框架,集團內包括 Retrofit 框架,okHttp 框架,okHttp3 框架及已經很少使用的 URLConnection 框架。提供的 SDK 應當與各種網絡框架兼容,同時業務方在即使變更網絡框架也能夠以最小的成本實現容災功能。而 iOS 側則考慮復用一個 NSURLProtocol 去實現對請求的攔截,降低代碼的冗余度,同時實現對初始化項進行統一適配。
  • 擴展性:需要在基礎功能之上提供可選的高級配置來滿足特殊需求,包括監控方面也要提供特殊的監控數據上報能力。

基于以上設計要點,我們將 Phoenix 劃分為以下結構圖,圖中將整體的容災 SDK 拆分為兩部分 Phoenix-Adaptor 部分與 Phoenix-Base 部分。

圖 8

Phoenix-BasePhoenix-Base 是整個 Phoenix 容災的核心部分,其包括容災數據緩存,域名更換組件,容災請求執行器(區別于原始請求執行器),監控器四個對外不可見的內部功能模塊,并包含外部接入模塊,提供外部接入功能。

  1. 容災數據緩存:定期獲取及更新容災數據,其產生的數據只會被域名更換組件使用。
  2. 域名更換組件:連接容災數據緩存,容災請求執行器,監控器的中心節點,負責匹配原始失敗 Host,過濾錯誤碼,并向容災請求執行器提供容災域名,向監控器提供整個容災過程的詳細數據副本。
  3. 容災執行器:容災請求的真正請求者,目前采用內部 OkHttp3Client,業務方也可以自主切換至自身的執行器。
  4. 監控器:分發容災過程的詳細數據,內置數據大盤的上報,若有外部自定義的監控器,也會向自定義監控器分發數據。

Phoenix-AdaptorPhoenix-Adaptor 是 Phoenix 容災的擴展適配部分,用于兼容各種網絡框架。

  • 綁定器:生成適合各個網絡框架的攔截器并綁定至原始請求執行者。
  • 解析器:將網絡框架的 Request 轉換為 Phoenix 內部執行器的 Request,并將 Phoenix 內部執行器的 Response 解析為外部網絡框架 Response,以此達到適配目的。

容災效果① 業務成功率以外賣圖片業務為例,Android 業務成功率對比(同版本 7512,2021.01.17 未開啟 Phoenix 容災,2021.01.19 晚開啟 Phoenix 容災)。

圖 9iOS 業務成功率對比(同版本 7511,2021.01.17 未開啟 Phoenix 容災,2021.01.19 晚開啟 Phoenix 容災)。

圖 10② 風險應對以外賣與美團圖片做為對比 ,在 CDN 服務出現異常時,接入 Phoenix 的外賣 App 和未接入的美團 App 在圖片成功率方面的對比。

圖 11

4.3.2 動態計算服務

端側的域名重試,會在某一域名加載資源失敗后,根據容災列表依次進行重試,直至成功或者失敗。如下圖所示:

圖 12如果域名 A 大范圍異常,端側依然會首先進行域名 A 的重試加載,這樣就導致不必要的重試成本。如何讓資源的首次加載更加穩定有效,如何為不同業務和地區動態提供最優的 CDN 域名列表,這就是動態計算服務的要解決的問題。計算原理動態計算服務通過域名池和項目的 Appkey 進行關聯,按照不同省份、不同地級市、不同項目、不同資源等維度進行策略管理。通過獲取 5 分鐘內對應項目上報的資源加載結果進行定時輪詢計算,對域名池中的域名按照地區(城市&&省份)的可用性監控。計算服務會根據域名可用性動態調整域名順序并對結果進行輸出。下圖是一次完整的計算過程:

圖 13

假設有 A、B、C 三個域名,成功率分別是 99%、98%、97.8%,流量占比分別是 90%、6%、4%。基于轉移基準,進行流量轉移,比如,A 和 B 成功率差值是 1,B 需要把自己 1/2 的流量轉移給 A,同時 A 和 C 的成功率差值大于 1,C 也需要把自己 1/2 的流量轉移給 A,同時 B 和 C 的差值是 0.2,所以 C 還需要把自己 1/4 的流量轉移給 B。最終,經過計算,A 的流量占比是 95%,B 是 3.5%,C 是 1.5%。最后,經過排序和隨機計算后將最終結果輸出。因為 A 的占比最大,所以 A 優先被選擇;通過隨機,B 和 C 也會有一定的流量;基于轉移基準,可以實現流量的平穩切換。異常喚起當某個 CDN 無法正常訪問的時候,該 CDN 訪問流量會由計算過程切換至等效的 CDN B。如果 SRE 發現切換過慢可以進行手動干預分配流量。當少量的 A 域名成功率上升后,會重復計算過程將 A 的流量加大。直至恢復初始態。

圖 14

服務效果動態計算服務使得資源的首次加載成功率由原來的99.7%提升至99.9%。下圖為接入動態計算后資源加載成功率與未接入加載成功率對比。

圖 15

4.3.3 容災監控

在監控層面,SRE 團隊往往只關注域名、大區域、運營商等復合維度的監控指標,監控流量巨大,對于小流量業務或者小范圍區域的 CDN 波動,可能就無法被監控分析識別,進而也就無法感知 CDN 邊緣節點異常。容災監控建設,主要是為了解決 SRE 團隊的 CDN 監控告警滯后和監控粒度問題。監控整體設計如下:

圖 16流程設計端側容災數據的上報,分別按照項目、App、資源、域名等維度建立監控指標,將 CDN 可用性變成項目可用性的一部分。通過計算平臺對數據進行分析聚合,形成 CDN 可用性大盤,按照域名、區域、項目、時間等維度進行輸出,與天網監控互通,建立分鐘級別的監控告警機制,大大提升了 CDN 異常感知的靈敏性。同時,SRE 側的天網監控,也會對動態計算服務結果產生干預。監控整體流程如下:

圖 17監控效果CDN 監控不僅從項目維度更加細粒度的監測 CDN 可用性,還為 CDN 異常排查提供了區域、運營商、網絡狀況、返回碼等更豐富的信息。在監控告警方面,實現了分鐘級異常告警,靈敏度也高于美團內部的監控系統。

圖 18

4.3.4 CDN 服務

端側域名切換的有效性,離不開 CDN 服務的支持。在 CDN 服務方面,在原有 SRE 側容災的基礎上,對 CDN 服務整體做了升級,實現域名隔離,解決了單域名對應多 CDN 和多域名對應單 CDN 重試無效的弊端。

圖 19

5. 總結與展望

經過一年的建設與發展,Phoenix CDN 容災方案日趨成熟,現已成為美團在 CDN 容災方面唯一的公共服務,在多次 CDN 異常中發揮了巨大的作用。在端側,當前該方案日均容災資源3000萬+,挽回用戶35萬+,覆蓋外賣,酒旅,餐飲,優選,買菜等業務部門,服務200+個工程,外賣 App、美團 App、大眾點評 App均已接入。在 SRE 側,實現了項目維度的分鐘級精準告警,同時豐富了異常信息,大大提高了 SRE 問題排查效率。自從方案大規模落地以來,CDN 異常時鮮有手動切換操作,極大減輕了 SRE 同學的運維壓力。由于前端技術的多樣性和復雜性,我們的 SDK 無法覆蓋所有的技術方案,所以在接下來的建設中,我們會積極推廣我們的容災原理,公開動態計算服務,希望更多的框架和服務在我們的容災思想上,貼合自身業務實現端側的 CDN 容災。另外,針對方案本身,我們會不斷優化資源加載性能,完善資源驗簽,智能切換等能力,也歡迎對 Phoenix CDN 容災方案有興趣的同學,跟我們一起探討交流。同時更歡迎加入我們,文末附招聘信息,期待你的郵件。

6. 作者簡介

魏磊、陳彤、張群、粵俊等,均來自美團外賣平臺-大前端團隊,丁磊、心澎,來自美團餐飲 SaaS 團隊。

責任編輯:張燕妮 來源: 美團技術團隊
相關推薦

2012-11-21 18:25:08

容災備份數據中心華為

2016-01-14 13:07:20

美團壓測工具工具

2022-06-07 15:09:21

實踐研發IDE

2013-11-13 13:53:51

華為云容災集約化容災

2015-02-02 15:01:25

2015-09-28 13:00:45

美團云SDN解決方案華為

2017-04-05 16:08:54

外賣商業變現

2012-05-24 12:37:44

華勝天成

2013-08-13 11:33:27

數據中心容災容災備份華為

2018-01-22 10:05:14

災備

2010-04-22 17:17:44

Oracle遠程復制

2009-01-06 13:40:26

服務器存儲備份

2012-04-12 17:42:42

深信服容災網絡

2011-01-04 15:30:26

博科解決方案

2023-11-14 12:07:43

美團沙龍

2012-09-17 09:43:12

戴爾

2014-08-01 18:26:49

戴爾

2013-10-31 15:20:06

2013-03-21 20:03:53

聯想業務移動化
點贊
收藏

51CTO技術棧公眾號

精品福利av| 欧洲精品一区二区三区| 成人免费视频caoporn| 91精品国产高清久久久久久| 国产精品1000部啪视频| 国产在视频一区二区三区吞精| 国产乱码精品一区二区| 欧美韩国日本在线观看 | 老熟妇仑乱一区二区av| 日韩黄色大片| 亚洲黄色在线观看| 亚洲欧美国产日韩综合| 超碰在线网站| 国产精品无人区| 国产美女精品在线观看| 最近中文字幕av| 亚洲精品欧洲| 久久视频免费在线播放| 在线不卡av电影| 日韩精品成人| 欧美三级韩国三级日本一级| 日本手机在线视频| 美女隐私在线观看| 久久伊99综合婷婷久久伊| 国产日韩在线看| 欧美性猛交bbbbb精品| 国产精品theporn| 日韩在线观看精品| 中文字幕影片免费在线观看| 韩国一区二区三区视频| 日本高清视频一区二区| 久久久久久免费看| 成人三级网址| 国产精品久久久久久久久晋中| 精品免费视频123区| 性做久久久久久久| 黄色精品一二区| 国产精品视频在线播放| 狠狠人妻久久久久久综合| 99pao成人国产永久免费视频| 久久这里有精品视频| 四季av中文字幕| 精品国产aⅴ| 亚洲色无码播放| 久久久久亚洲av无码专区桃色| 国内自拍欧美| 欧美精品一区二区三区在线播放 | 国产日韩一区二区三免费高清| 欧美视频一区在线| 亚洲免费看av| 国产成人77亚洲精品www| 欧美综合在线视频| 国产aaaaa毛片| 成人激情视屏| 欧美日韩成人一区| 日韩av影视大全| 日韩成人在线看| 亚洲第一级黄色片| 久久人妻少妇嫩草av无码专区| silk一区二区三区精品视频| 精品国产伦一区二区三区观看体验| 黄色片子免费看| 成人h动漫免费观看网站| 精品国产第一区二区三区观看体验| 国产sm在线观看| 黄色美女久久久| 亚洲精品色婷婷福利天堂| 欧美18—19性高清hd4k| 日韩免费高清| www亚洲精品| 久热精品在线观看| 亚洲精选在线| 国产精品国产三级国产aⅴ9色| 精品国产www| 国产一区二区三区免费在线观看| 97久久人人超碰caoprom欧美| 蜜桃视频污在线观看| 91麻豆免费看| 污视频在线免费观看一区二区三区 | 日韩欧美激情在线| 久久人妻一区二区| 久久国产影院| 国内精品久久久久伊人av| 中文字幕一区在线播放| 精品在线亚洲视频| 官网99热精品| 触手亚洲一区二区三区| 亚洲欧美另类久久久精品| 免费在线观看视频a| 午夜av成人| 欧美www视频| 最近中文字幕在线mv视频在线| 91麻豆精品国产91久久久平台 | 超碰手机在线观看| 美女国产一区| yy111111少妇影院日韩夜片| 欧美成熟毛茸茸| 亚洲美女精品一区| 妞干网在线免费视频| 韩国三级成人在线| 国产亚洲成av人片在线观看桃| 午夜爽爽爽男女免费观看| 夜夜嗨av一区二区三区网站四季av| 国产国语videosex另类| 成人午夜免费福利| 国产精品全国免费观看高清| 阿v天堂2017| 精品国产18久久久久久二百| 亚洲男人天堂视频| 国产无遮挡aaa片爽爽| 久久精品国产免费看久久精品| 国产一区二区高清视频| 国产美女福利在线| 欧美亚洲尤物久久| 亚洲精品视频大全| 欧美日韩免费| 国产日韩欧美中文在线播放| 日韩精品系列| 午夜亚洲国产au精品一区二区| 久久国产激情视频| 国产日产精品_国产精品毛片| 欧美国产精品va在线观看| 探花国产精品一区二区| xfplay精品久久| 霍思燕三级露全乳照| 精品一区二区三区在线观看视频| 国产香蕉97碰碰久久人人| 日韩特级黄色片| 高清不卡一二三区| www.激情网| 久久在线观看| 久久在线精品视频| 亚洲图片视频小说| 日本一区二区三区在线不卡 | 麻豆精品视频在线观看免费| 欧美激情一区二区三区在线视频| 爱情岛亚洲播放路线| 日韩欧美中文字幕精品| 国产中文av在线| 久久精品国产精品亚洲精品| 日韩精品久久一区| 性感美女一区二区在线观看| 亚洲毛片在线免费观看| 亚洲第一精品在线观看| 99久久精品一区二区| 国内精品视频一区二区三区| www国产精品| 久久人人爽国产| 丁香六月天婷婷| 五月婷婷综合激情| 国产老熟女伦老熟妇露脸| 99在线精品视频在线观看| 精品国产乱码久久久久久蜜柚| 国产探花在线观看| 精品丝袜一区二区三区| 日韩在线视频不卡| 欧美国产一区二区| 日韩在线一区视频| 欧美成人久久| 国产精品视频免费观看| 亚洲精品88| 国产亚洲欧美一区| 国产露脸无套对白在线播放| 亚洲永久精品国产| 理论片大全免费理伦片| 国产亚洲成人一区| 午夜精品一区二区三区四区| 视频欧美精品| 欧美贵妇videos办公室| 深夜福利在线视频| 欧美网站大全在线观看| 国语对白在线播放| 播五月开心婷婷综合| 99精品视频播放| 亚洲91中文字幕无线码三区| http;//www.99re视频| 性欧美又大又长又硬| 一本一本久久a久久精品综合小说| 一区二区www| 亚洲二区视频在线| 亚洲精品国产91| 国产一区二区三区不卡在线观看| 黄色国产一级视频| 日韩在线二区| 精品欧美国产一区二区三区不卡| 国产日韩另类视频一区| 欧美成人第一页| 日韩美女一级视频| 欧美一级免费观看| 91video| 亚洲男帅同性gay1069| 在线观看国产免费视频| 理论片日本一区| 欧美午夜性视频| 欧美aaaa视频| 免费精品视频一区| 欧美激情精品| 国产精品久久久久久久电影| 蜜桃成人365av| 国产一区二区精品丝袜| 亚洲美女性生活| 欧美网站一区二区| 日本天堂网在线| 一区二区成人在线观看| 国产又粗又黄又猛| 97国产精品videossex| 亚洲av无日韩毛片久久| 久久夜色精品| www.av毛片| 我不卡影院28| 图片区小说区区亚洲五月| 麻豆一区一区三区四区| 99免费在线观看视频| 成人精品一区二区三区电影| 97视频在线免费观看| 91麻豆一二三四在线| 在线观看欧美日韩国产| 爽爽视频在线观看| 亚洲成人精品在线| va视频在线观看| 欧美日韩一区二区三区高清| 亚洲日本视频在线观看| 亚洲国产精品精华液网站| 手机在线免费看毛片| 欧美国产日韩精品免费观看| 最新中文字幕视频| 99久久精品国产精品久久| 日本泡妞xxxx免费视频软件| 国产一区二区三区高清播放| 精品久久久99| 久久精品久久99精品久久| 老头吃奶性行交视频| 亚洲欧美日韩综合国产aⅴ| 免费看毛片的网址| 激情欧美丁香| av在线com| 黄色成人91| 国产尤物av一区二区三区| 欧美一区高清| 男人的天堂成人| 香蕉视频官网在线观看日本一区二区| 午夜精品一区二区三区四区| 欧美日韩一二三四| 午夜精品一区二区三区在线观看| 国产videos久久| 欧美日韩国产一二| 国产精品嫩模av在线| 欧美国产一二三区| 国产精品入口久久| 四虎一区二区| 欧美xxav| 中文字幕色呦呦| 欧美日韩一视频区二区| 波多野结衣av一区二区全免费观看 | 久久99精品国产| 搡的我好爽在线观看免费视频| 国产一区二区三区免费| 无码人妻少妇色欲av一区二区| 国产成人一区二区精品非洲| 日本一卡二卡在线| 久久久久久久久久久黄色| 精品国产成人亚洲午夜福利| 国产精品免费观看视频| 婷婷在线精品视频| 午夜亚洲国产au精品一区二区| 69成人免费视频| 在线免费av一区| 国产精品系列视频| 精品福利二区三区| 精品成人一区二区三区免费视频| 亚洲无线码在线一区观看| 免费黄色在线网站| 欧美激情视频网址| 欧美1级2级| 91色精品视频在线| 欧美1区2区3区4区| 亚洲国产一区在线| 国产精品v日韩精品v欧美精品网站| 2022亚洲天堂| 精品伊人久久久久7777人| 精人妻一区二区三区| 久久在线观看免费| 国产这里有精品| 精品久久香蕉国产线看观看gif| 中文在线a天堂| 日韩免费高清av| 国产资源在线播放| 色中色综合影院手机版在线观看| 老色鬼在线视频| 成人a视频在线观看| 久久av国产紧身裤| 中文字幕不卡每日更新1区2区| 伊人久久成人| 三上悠亚av一区二区三区| 成人午夜精品在线| 国产一区二区三区视频播放| 精品欧美激情精品一区| 国产免费无遮挡| 亚洲美女在线观看| 欧美大胆的人体xxxx| 国产精品美女主播| 久久亚洲黄色| 亚洲精品天堂成人片av在线播放| 久久一综合视频| av av在线| 亚洲人成网站在线| 中文在线字幕免费观| 亚洲国产精品久久91精品| 免费av网站在线观看| 国产成人涩涩涩视频在线观看| 97久久亚洲| 国产欧美自拍视频| 秋霞影院一区二区| 国产一级二级视频| 亚洲午夜羞羞片| 国产三级第一页| 日韩在线视频二区| 日日av拍夜夜添久久免费| 国产精品亚洲一区| 午夜精品婷婷| 在线看免费毛片| 国产精品人妖ts系列视频| 手机av免费观看| 亚洲精品小视频在线观看| 国产探花视频在线观看| 91在线观看网站| 亚洲精品网址| 五月天国产视频| 亚洲图片你懂的| 国产三级视频在线播放| 中文综合在线观看| a屁视频一区二区三区四区| 欧美在线一区二区三区四区| 久久九九免费| 亚洲永久精品ww.7491进入| 欧美日韩一二三四五区| 亚州精品国产精品乱码不99按摩| 欧美精品电影免费在线观看| 日韩欧美中文字幕一区二区三区| 国产精品白丝jk黑袜喷水| 亚洲天堂最新地址| 欧美亚洲综合久久| 午夜不卡视频| 91精品国产综合久久香蕉最新版| 欧洲三级视频| www.亚洲高清| 综合久久给合久久狠狠狠97色 | 羞羞的视频在线观看| 91亚洲精品在线观看| 中文一区一区三区免费在线观看| 日日干日日操日日射| 亚洲欧美自拍偷拍色图| 国产精品怡红院| 久久国产精品影片| 视频免费一区二区| 免费国产黄色网址| 91论坛在线播放| 亚洲中文无码av在线| 日韩在线免费观看视频| avtt久久| 亚洲熟妇无码一区二区三区导航| yourporn久久国产精品| 五月天激情国产综合婷婷婷| 国产亚洲欧洲在线| 91成人app| 18禁网站免费无遮挡无码中文| 2014亚洲片线观看视频免费| 波多野结衣家庭主妇| 久久精品国产一区二区电影| 涩爱av色老久久精品偷偷鲁| 激情五月宗合网| 欧美国产精品中文字幕| 国产精品久久久久久久免费| 欧美激情小视频| 午夜精品福利影院| 免费成人黄色大片| 香蕉久久一区二区不卡无毒影院 | 黄色成人在线免费观看| www.亚洲精品| 中文字幕人妻精品一区| 欧美成人国产va精品日本一级| 欧美一级二级三级视频| 国产成人黄色网址| 午夜精品久久久久| av片在线看| 国产在线观看一区| 久久成人羞羞网站| 日本一本高清视频| 中文综合在线观看| 欧美黑白配在线| 手机版av在线| 精品久久久久久久久久ntr影视| 国产1区2区3区在线| 99re视频| 日本亚洲三级在线| 国产一级在线观看视频| 一区二区三区视频免费| 加勒比色老久久爱综合网| 美女在线视频一区二区 | 亚洲一区二区三区高清视频|