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

京東京麥:微服務架構下的高可用網關與容錯實踐

開發 架構 開發工具
各自的系統在這一指導思想下收獲了優雅的可維護性,但一方面也給接口調用提出了新的要求,比如眾多的 API 調用急需一個統一的入口來支持客戶端的調用。

自微服務概念誕生以來,眾多的軟件架構都在踐行著這一優秀的設計理念。

[[214927]]

各自的系統在這一指導思想下收獲了優雅的可維護性,但一方面也給接口調用提出了新的要求,比如眾多的 API 調用急需一個統一的入口來支持客戶端的調用。

在這種情況下 API Gateway 誕生,我們將接入、路由、限流等功能統一由網關負責,各自的服務提供方專注于業務邏輯的實現,從而給客戶端調用提供了一個穩健的服務調用環境。

之后,我們在網關大調用量的情況下,還要保證網關的可降級、可限流、可隔離等等一系列容錯能力。

今天跟大家分享微服務下京麥開放平臺的網關實現,以及我們如何抗量、如何在大訪問量的情況下做容錯處理,重點介紹容錯的方法及每種容錯方法的使用場景與經驗。

網關

這里說的網關是指 API 網關,意思是將所有 API 調用統一接入到 API 網關層,由網關層統一接入和輸出。

一個網關的基本功能有如下幾種能力:

  • 統一接入
  • 安全防護
  • 協議適配
  • 流量管控
  • 長短鏈接支持
  • 容錯

有了網關之后,各個 API 服務提供團隊可以專注于自己的的業務邏輯處理,而 API 網關更專注于安全、流量、路由等問題。

單體應用

當業務簡單、團隊組織很小時,我們常常把功能都集中于一個應用中,統一部署、統一測試,玩得不亦樂乎。

但隨著業務迅速發展,組織成員日益增多,我們再將所有的功能集中到一個 Tomcat 中去,每當更新一個功能模塊,勢必要更新所有的程序,搞不好還會牽一發動全身,導致實在難以維護的情況。

微服務

單體應用滿足不了我們逐漸增長的擴展需求之后,微服務就出現了,它是將原來應用集中于一體的架構。

比如商品功能、訂單功能、用戶功能拆分出去,各自有各自的自成體系的發布、運維等,這樣就解決了在單體應用下的弊端。

API 網關

進行微服務后,原先客戶端調用服務端的地方就要有 N 多個 URL 地址,包括商品的、訂單的、用戶等。

這時就必須要有個統一的入口和出口,這種情況下,我們的 API Gateway 就出現了,它很好地幫助我們解決了微服務下客戶端調用的問題。

泛化調用

對于普通的 RPC 調用,我要拿到服務端提供的 class 或者 jar 包,這樣過于繁重,更不好維護。

不過成熟的 RPC 框架都支持泛化調用,我們的網關就是基于這種泛化調用來實現的。

服務端開放出來他們的 API 文檔,我們拿到接口、參數、參數類型通過泛化調用到服務端程序。 

public Object $invoke(String method, String[] parameterTypes, Object[] args);

容錯

容錯,這個詞的理解,書面意思就是可以容下錯誤,不讓錯誤再次擴張,讓這個錯誤產生的影響在一個固定的邊界之內。

“千里之堤,毀于蟻穴”,我們采用容錯的方式就是不讓這種蟻穴繼續變大。在工作中,降級、限流、熔斷器、超時重試等都是常見的容錯方法。

抗量

所謂的抗量,就是增大我們系統的吞吐量,所以容錯的***步就是系統要能抗量,沒有量的情況下幾乎用不到容錯。

我們的容器使用的是 Tomcat,在傳統的 BIO 模型下,一請求一線程,在機器線程資源有限的情況下是沒有辦法來實現我們的目標的。

NIO 給我們提供了這個機會,基于 NIO 的機制,利用較少的線程來處理更多的連接。

連接多不可怕,通過調整機器的參數一臺 8c8g 的機器,超過 10w 是不成問題的。

Tomcat 的 Conector 修改成 NIO 后,我們再從代碼層面引入了 Servlet3,它是從 Tomcat7 以后支持的,NIO 是 Tomcat6 以后就支持的。

利用 Servlet3 的特性,所有的 request 和 response 都由 Tomcat 的工作線程來處理,我們將業務邏輯異步到別的業務線程中去。

在異步環境下,可以提高單位時間內的吞吐量,所有的 Servlet 請求都是由 Tomcat 的 Executor 線程池的線程處理的,也就是 Tomcat 的工作線程。

這些線程處理的時間越短越好,越短越能迅速地將線程歸還給 Executor 線程池,現在 Servlet 支持異步后就能將耗時的操作,比如有 RPC 請求的交給業務線程池來處理,使得 Tomcat 工作線程可立即歸還給 Tomcat 工作線程池。

另外,將業務異步處理之后,我們可以對業務線程池進行線程池隔離,這樣就避免了因一個業務性能問題而影響了其他的業務。

總結一下異步的優勢:

  • 可以用來做消息推送,通過 Nginx 做代理,設置連接超時時間,客戶端通過心跳探測。
  • 提高吞吐量。
  • 請求線程和業務線程分開,從而可以通過業務線程池對業務線程做隔離。

脫離 DB

脫離 DB,這里不是說 DB 的性能不行,分庫分表、DB 集群化之后,在一定量的情況下是沒有問題的。

但是,如果從抗量的角度說的話,為何不使用 Redis 呢?如果軟件架構里面有一種銀彈的話,那么 Redis 就是這種銀彈。

另外一個脫離 DB 的原因是:每當大促備戰前夕我們一項重點的工作就是優化慢 SQL,但它就像小強一樣生命力是那樣的頑強,殺不絕。

如果有那么一個慢 SQL,平時是沒有問題的,比如一個查詢大字段的 SQL,平時量小不會暴露問題,但量一上來了,就是個災難。

再就是我們的網關,包括接入、分發、限流等這些功能都應該是很輕的,所以我們就通過數據異構的方式把數據重新轉載到 Redis 中,而且是將數據持久化到 Redis 里面去。

當然,使用 Redis 的過程中也需要注意大 key,大訪問量下也能讓集群趴下。

還有一個很重要的原因,我們使用的 DB 是 MySQL,鑒于 MySQL 的 failover 機制生效時間總是要長于 Redis 集群,***就是因為 DB 切換的時候,常常伴隨 Web 應用服務器要重啟,將原來的連接釋放掉,才能方便使用新的數據庫連接。

多級緩存

最簡單的緩存就是查一次數據庫然后將數據寫入緩存。比如在 Redis 中設置過期時間,因為有過期失效,因此我們要關注下緩存的穿透率。

這個穿透率的計算公式,比如查詢方法 queryOrder(調用次數 1000/1s)里面嵌套查詢 DB 方法 query Product From DB(調用次數 300/s),那么 Redis 的穿透率就是 300/1000。

在這種使用緩存的方式下,是要重視穿透率的,穿透率大了說明緩存的效果不好。

還有一種使用緩存的方式就是將緩存持久化,也就是不設置過期時間,這個會面臨一個數據更新的問題。

一般有兩種辦法:

  • 利用時間戳,查詢默認以 Redis 為主,每次設置數據的時候放入一個時間戳,每次讀取數據的時候用系統當前時間和上次設置的這個時間戳做對比。

比如超過 5 分鐘,那么就再查一次數據庫,這樣可以保證 Redis 里面永遠有數據,一般是對 DB 的一種容錯方法。

  • 讓 Redis 真正作為 DB 來使用,就是如圖里畫的通過訂閱數據庫的 binlog,通過數據異構系統將數據推送給緩存,同時將緩存設置為多級。

可以通過使用 jvm cache 作為應用內的一級緩存,一般是體積小,訪問頻率大的更適合這種 jvm cache 方式,將一套 Redis 作為二級 remote 緩存,另外的最外層三級 Redis 作為持久化緩存。

超時與重試

超時與重試機制也是容錯的一種方法,凡是發生 RPC 調用的地方,比如讀取 Redis、DB、MQ 等。

因為網絡故障或者是所依賴的服務故障了,長時間不能返回結果,就會導致線程增加,加大 CPU 負載,甚至導致雪崩。所以對每一個 RPC 調用都要設置超時時間。

對于強依賴 RPC 調用資源的情況,還要有重試機制,但重試的次數建議 1-2 次。

另外如果有重試,超時時間還要相應都調小,比如重試 1 次,那么一共是發生 2 次調用。

如果超時時間配置的是 2s,那么客戶端就要等待 4s 才能返回,因此重試+超時的方式,超時時間要調小。

這里也再談一下 1 次 PRC 調用的時間都消耗在哪些環節。

1 次正常的調用統計的耗時主要包括:①調用端RPC框架執行時間 + ②網絡發送時間 + ③服務端RPC框架執行時間 + ④服務端業務代碼時間。

調用方和服務方都有各自的性能監控,比如調用方 tp99 是 500ms,服務方 tp99 是 100ms,找了網絡組的同事確認網絡沒有問題的。

那么時間都花在什么地方了呢?兩種原因:客戶端調用方,還有一個原因是網絡發生 TCP 重傳,所以要注意這兩點。

熔斷

熔斷技術可以說是一種“智能化的容錯”,當調用滿足失敗次數,失敗比例就會觸發熔斷器打開,有程序自動切斷當前的 RPC 調用,來防止錯誤進一步擴大。

實現一個熔斷器主要是考慮三種模式:

  • 關閉
  • 打開
  • 半開

各個狀態的轉換如下圖:

在了解了熔斷器的狀態機制后,我們可以自己來實現一個熔斷器。當然也可以使用開源的解決方案,比如 Hystrix 中的 breaker。

下圖是一個熔斷器打開關閉的示意圖:

這里要談的是熔斷器的使用注意項:

我們在處理異常時,要根據具體的業務情況來決定處理方式。比如我們調用商品接口,對方只是臨時做了降級處理,那么作為網關調用就要切到可替換的服務上來執行或者獲取托底數據,給用戶友好提示。

還有要區分異常的類型,比如依賴的服務崩潰了,這個可能需要花費比較久的時間來解決,也可能是由于服務器負載臨時過高導致超時。

作為熔斷器應該能夠甄別這種異常類型,從而根據具體的錯誤類型調整熔斷策略。

增加手動設置,在失敗的服務恢復時間不確定的情況下,管理員可以手動強制切換熔斷狀態。***,熔斷器的使用場景是調用可能失敗的遠程服務程序或者共享資源。

如果是本地緩存本地私有資源,使用熔斷器則會增加系統的額外開銷。還要注意,熔斷器不能作為應用程序中業務邏輯的異常處理替代品。

線程池隔離

在抗量這個環節,Servlet3 異步時,有提到過線程隔離。線程隔離的直接優勢就是防止級聯故障,甚至是雪崩。

當網關調用 N 多個接口服務的時候,我們要對每個接口進行線程隔離,比如我們有調用訂單、商品、用戶。

那么訂單的業務不能夠影響到商品和用戶的請求處理。如果不做線程隔離,當訪問訂單服務出現網絡故障導致延時,線程積壓最終導致整個服務 CPU 負載滿。

就是我們說的服務全部不可用了,有多少機器都會被此刻的請求塞滿。那么,有了線程隔離就會使得我們的網關能保證局部問題不會影響全局。

降級、限流

關于降級限流的方法業界都已經有很成熟的方法了,比如 Failback 機制,限流方法令牌桶、漏桶、信號量等,這里談一下我們的一些經驗。

降級一般都是由統一配置中心的降級開關來實現的,那么當有很多個接口來自同一個提供方,這個提供方的系統或這機器所在機房網絡出現了問題,我們就要有一個統一的降級開關。

不然就要一個接口一個接口地來降級,也就是要對業務類型有一個大閘刀。

還有就是降級切記暴力降級,什么是暴力降級?比如把論壇功能降調,結果用戶顯示一個大白板,我們要實現緩存住一些數據,也就是有托底數據。

限流一般分為分布式限流和單機限流,如果實現分布式限流的話就要一個公共的后端存儲服務,比如 Redis,在大 Nginx 節點上利用 Lua 讀取 Redis 配置信息。

我們現在的限流都是單機限流,并沒有實施分布式限流。

網關監控與統計

API 網關是一個串行的調用,每一步發生的異常都要記錄下來,統一存儲到一個地方,比如 Elasticsearch 中,便于后續對調用異常的分析。

鑒于公司 Docker 申請都是統一分配,而且分配之前 Docker 上已經存在 3 個 Agent 了,不再允許增加。

我們自己實現了一個 Agent 程序,來負責采集服務器上面的日志輸出,然后發送到 Kafka 集群,再通過 Web 查詢消費到 Elasticsearch 中。現在做的追蹤功能還比較簡單,這塊還需要繼續豐富。

總結

網關基本功能有統一接入、安全防護、協議適配等。這篇文章里我們并沒有講如何來實現這些基本的功能,因為現在有很多成熟的解決方案可以直接拿過來使用。

比如 Spring Cloud 這種全家桶里面的很多組件,Mashape 的 API 層 Kong 等。

我們更關注的是:

  • 實現了這些網關的基本功能之后,如何保證一個網關的運行?
  • 在大訪問量的情況下如何能更好的支持客戶端的調用?
  • 在突發情況下又是如何及時地響應這種突然的異常?
  • 如何將錯誤最小化,防止級聯故障?
  • 重點關注網關容錯方面的經驗與實踐。

[[214931]]

王新棟,京東資深架構師,從事京麥平臺的架構設計與開發工作。熟悉各種開源軟件架構,在 Web 開發,架構優化上有較豐富的實戰經歷。有多年在 NIO 領域的設計、開發經驗,對 HTTP、TCP 長連接技術有深入研究與領悟,目前主要致力于移動與 PC 平臺網關技術的優化與實現。個人公眾號:程序架道(xindongbook17)。

責任編輯:武曉燕 來源: DBAplus社群
相關推薦

2018-01-23 09:39:12

京東高可用架構

2018-06-21 09:07:58

京東實踐京麥平臺

2017-11-08 09:32:05

2020-12-09 09:21:41

微服務架構數據

2017-09-13 13:42:09

微服務緩存架構

2019-10-31 09:03:12

Java集群微服務

2017-12-22 09:21:02

API架構實踐

2015-12-16 11:27:52

Google高可用架構

2016-12-28 14:16:25

京東高并發系統設計

2019-12-26 15:49:14

微服務架構業務

2020-06-04 09:24:26

微服務數據框架

2021-08-13 07:52:35

微服務網關數據

2022-09-01 08:17:15

Gateway微服務網關

2020-07-24 08:50:17

Redis數據庫

2023-09-13 16:43:28

網關微服務架構開發

2023-09-06 08:51:40

2021-05-20 13:22:31

架構運維技術

2023-02-27 08:37:52

2018-04-20 10:38:25

2022-04-25 10:44:08

微服務架構設計
點贊
收藏

51CTO技術棧公眾號

欧美一区二区激情视频| 日本一卡二卡在线| 日日夜夜精品一区| 国产美女久久久久| 亚洲3p在线观看| 亚洲性猛交xxxx乱大交| 高清不卡一区| 精品美女永久免费视频| 一区二区三区四区国产| 亚洲奶汁xxxx哺乳期| 久久激情婷婷| 欧美第一淫aaasss性| 亚洲人成人无码网www国产| 高清久久一区| 色综合天天视频在线观看| youjizz.com亚洲| 色婷婷视频在线| 美国一区二区三区在线播放| 午夜精品久久久久久久99黑人| 91动漫免费网站| 亚洲成人一品| 欧美xxxxxxxx| 日本中文字幕观看| 蜜臀国产一区| 亚洲国产欧美另类丝袜| 在线看无码的免费网站| 亚洲aⅴ在线观看| 久久狠狠亚洲综合| 欧美一级淫片aaaaaaa视频| 色老板免费视频| 热久久天天拍国产| 精品视频久久久| 少妇极品熟妇人妻无码| 色综合视频一区二区三区44| 色悠悠久久综合| 国产3p露脸普通话对白| av网站免费在线观看| 日本一区二区三区视频视频| 美乳视频一区二区| 男人天堂网在线视频| 国产伦精品一区二区三区免费迷| 国产精品久久久久久影视| 久久免费小视频| 午夜国产一区| 久久亚洲精品小早川怜子66| 精品一区二区三孕妇视频| 你微笑时很美电视剧整集高清不卡 | 678五月天丁香亚洲综合网| 国模杨依粉嫩蝴蝶150p| 中文一区一区三区高中清不卡免费| 一区二区三区免费观看| 欧美a级黄色大片| 超碰在线免费公开| 亚洲日本丝袜连裤袜办公室| 亚洲一二三区在线| a视频网址在线观看| 国产女同互慰高潮91漫画| 日本在线高清视频一区| 九色在线播放| 国产日韩在线不卡| 日韩精品一线二线三线| av在线中文| 国产精品美女视频| 在线一区亚洲| av网址在线| 亚洲国产精品一区二区久久| 毛片在线播放视频| 涩涩在线视频| 一本一道久久a久久精品| 国产综合免费视频| 国产精品毛片久久久久久久久久99999999| 欧洲一区二区三区在线| 91欧美视频在线| 电影91久久久| 亚洲黄色在线看| 国产毛片久久久久久久| 国产一区二区三区站长工具| 中文国产亚洲喷潮| 日韩欧美123区| 日韩午夜一区| 国产高清在线不卡| 国产精品毛片久久久久久久av| 国产九色精品成人porny| 国产精品毛片一区视频| 亚洲欧美综合一区二区| 欧美激情中文字幕| 好色先生视频污| 欧美巨大丰满猛性社交| 欧美日韩一区二区在线观看| 永久免费黄色片| 极品国产人妖chinesets亚洲人妖 激情亚洲另类图片区小说区 | 九九热这里只有精品免费看| 国产精品一区二区6| 日本欧美一区二区在线观看| 97人人澡人人爽| 欧美理论在线观看| 亚洲人成小说网站色在线 | 草美女在线观看| 91久久一区二区| 制服丝袜中文字幕第一页| 国产成人夜色高潮福利影视| 伊人久久久久久久久久| 久视频在线观看| 青青草国产成人av片免费| 成人av网站观看| av在线电影网| 精品久久久一区二区| 中文字幕免费高清在线| 久久婷婷国产| 欧美成年人视频| 成人h动漫精品一区二区下载| 国产精品1区2区| 日韩aⅴ视频一区二区三区| 欧美性猛片xxxxx免费中国 | 午夜在线观看av| 国产精品45p| 久久亚洲精品一区二区| 波多野结衣高清在线| 成人动漫一区二区在线| 中文字幕在线亚洲三区| 欧美xx视频| 精品国产伦一区二区三区观看体验 | 奇米777国产一区国产二区| 久久五月天综合| 夜夜躁日日躁狠狠久久av| 99精品1区2区| 妺妺窝人体色777777| 亚洲一区av| 在线观看国产精品淫| 亚洲精品男人的天堂| 成人精品小蝌蚪| 色一情一乱一乱一区91| 日韩在线电影| 色yeye香蕉凹凸一区二区av| 日韩欧美国产另类| xf在线a精品一区二区视频网站| 996这里只有精品| 性欧美video另类hd尤物| 中文字幕欧美国内| 久久久久久久亚洲| 久久久久久久久蜜桃| 波多野结衣家庭教师在线| 成人爽a毛片免费啪啪红桃视频| 欧美成人免费网| 国产精品视频一二区| 亚洲天堂精品视频| 不用播放器的免费av| 亚洲深深色噜噜狠狠爱网站| 成人免费网视频| 高潮毛片在线观看| 日韩欧美不卡在线观看视频| 欧美三级 欧美一级| 国产成人av电影| 国产91沈先生在线播放| 国产精品香蕉| 91sa在线看| 日本又骚又刺激的视频在线观看| 婷婷成人激情在线网| 免费成人深夜夜行p站| 亚洲综合另类| 日韩在线第一区| 日本国产一区| 欧美大片第1页| 日本激情一区二区三区| 欧美日韩中文字幕在线| 一本加勒比北条麻妃| 老牛国产精品一区的观看方式| 日韩欧美精品在线不卡| 欧美黄页免费| 欧美福利在线观看| 天天干天天爽天天操| 色狠狠桃花综合| 制服丨自拍丨欧美丨动漫丨| 国产黄人亚洲片| 国产九九九九九| 国产精品羞羞答答在线观看| 国产久一一精品| 日本电影在线观看| 日韩精品免费观看| 国产日韩久久久| 亚洲一区二区精品久久av| av无码av天天av天天爽| 日本欧美在线看| 日产精品久久久久久久蜜臀| 九九亚洲视频| 91久久久久久久一区二区| 蜜桃传媒在线观看免费进入| 亚洲欧美日韩久久久久久| 怡红院男人的天堂| 亚洲韩国一区二区三区| 中文字幕第4页| 国产一区二区免费在线| 91视频最新入口| 欧美第一精品| 久久人人爽爽人人爽人人片av| 欧美亚洲黄色| 欧美性受xxxx白人性爽| 日本中文字幕视频在线| 亚洲黄色免费三级| 国产又粗又黄又爽| 欧美视频裸体精品| 曰本女人与公拘交酡| 久久久欧美精品sm网站| 51自拍视频在线观看| 小嫩嫩精品导航| 777久久精品一区二区三区无码 | 加勒比视频一区| 国产欧美一区二区三区久久人妖 | 成年人在线看| 亚洲精品在线免费观看视频| 亚洲中文字幕一区二区| 日韩欧美精品网站| 国产在线观看你懂的| 国产精品国产三级国产普通话三级 | 久久久久免费精品国产| 超碰在线影院| 精品伊人久久97| 黄色三级网站在线观看| 欧美久久久影院| 国产日韩在线免费观看| 欧美日韩国产一区二区| 久久久精品91| 亚洲日本在线a| 羞羞在线观看视频| 日本一区二区三区国色天香 | 四虎精品成人免费网站| 欧美一区二区三区视频免费播放| а中文在线天堂| 欧美性生交大片免网| 久久免费少妇高潮99精品| 亚洲另类色综合网站| 亚洲欧美日韩第一页| 久久久久久久综合狠狠综合| 51调教丨国产调教视频| 成人免费看视频| 丰满岳乱妇一区二区 | 91情侣在线视频| 精品欧美视频| 成人在线一区二区| 日韩美女在线| 成人日韩av在线| 粉嫩一区二区三区在线观看| 91免费视频国产| 亚洲福利影视| 91在线观看免费观看| 天堂综合在线播放| 成人欧美在线视频| 国产一区二区视频在线看| 成人性生交xxxxx网站| 亚洲欧洲二区| 91九色露脸| 成人搞黄视频| 欧美激情第一页在线观看| 国产成人影院| 视频一区二区在线观看| 大片网站久久| 99精品视频网站| 欧美在线亚洲| 免费国产黄色网址| 男人的天堂亚洲在线| 欧美精品成人网| 男男成人高潮片免费网站| 亚洲一区二区福利视频| 国内不卡的二区三区中文字幕| 伦伦影院午夜理论片| 成人在线一区二区三区| 三叶草欧洲码在线| 欧美极品另类videosde| 久久99久久99精品免费看小说| 亚洲欧美日韩国产中文在线| 欧美精品99久久久| 欧美日韩亚洲精品内裤| 日本妇乱大交xxxxx| 欧美精品久久久久久久多人混战| 国产成人毛毛毛片| 日韩精品视频在线观看网址| 成人性爱视频在线观看| 久久亚洲综合国产精品99麻豆精品福利 | 国产成人精品a视频| 日韩av在线高清| 91精品国产综合久久久久久豆腐| 欧美成aaa人片在线观看蜜臀| 白浆视频在线观看| 国产精品香蕉国产| 超碰地址久久| 日韩欧美精品一区二区三区经典 | 欧美夫妻性生活xx| 婷婷午夜社区一区| 1卡2卡3卡精品视频| 伊人久久大香线蕉综合网蜜芽| 亚洲自拍三区| 最新成人av网站| 色婷婷.com| 99精品黄色片免费大全| 我要看黄色一级片| 欧美视频专区一二在线观看| 国产又大又黑又粗| 日韩av在线精品| 97超碰资源站在线观看| 国产91成人在在线播放| 亚洲国产91视频| 欧美人与物videos另类| 欧美日韩hd| 在线观看的毛片| 97国产一区二区| 久久r这里只有精品| 在线日韩av片| 四虎免费在线观看| 不卡av电影院| 免费在线成人激情电影| 久久综合狠狠综合久久综青草| 91精品亚洲| 亚洲高清在线免费观看| 99精品国产91久久久久久| 黄色一级片中国| 欧美日韩国产免费| 免费理论片在线观看播放老| 欧美激情按摩在线| 亚洲欧洲二区| 日产国产精品精品a∨| 亚洲高清毛片| 少妇精品无码一区二区| 国产精品成人免费在线| 国产字幕在线观看| 日韩电影免费在线观看中文字幕 | 亚洲sss视频在线视频| 国产精品久久久国产盗摄| 亚洲三级 欧美三级| 美女在线视频免费| 国产精品一区在线播放| 夜间精品视频| 不卡中文字幕在线观看| 国产精品国产馆在线真实露脸| 国产一级片av| 亚洲欧美日本精品| 中文字幕这里只有精品| 久久亚洲午夜电影| 亚洲美女一区| 欧产日产国产精品98| 性感美女久久精品| 欧美 日韩 国产 成人 在线| 欧美激情日韩图片| 久久天堂久久| 欧美在线观看黄| 成人爽a毛片一区二区免费| 欧美成人精品一区二区免费看片| 91精品综合久久久久久| 国产三级在线播放| 91精品综合久久久久久五月天| 99国产精品一区二区| 亚洲第一色av| 玉足女爽爽91| 亚洲国产精品久久人人爱潘金莲| 色综合久久88| 国产成人一二片| 欧美激情国产精品日韩| 久久视频一区二区| 国产第一页在线观看| 亚洲天天在线日亚洲洲精| 亚洲爱爱视频| 一区二区三区日韩视频| 成人妖精视频yjsp地址| 国产精品久久久久久久妇| 日韩美女av在线| 成人一区视频| 成人污网站在线观看| 成人国产一区二区三区精品| 国产一级18片视频| 一本色道久久88亚洲综合88| 婷婷丁香久久| 国产精品入口芒果| 久久久www免费人成精品| 国产一区二区三区中文字幕| 九九久久久久99精品| 国产成人一二| 999精彩视频| 亚洲一区二区三区国产| 五月激情六月婷婷| 国产精品入口免费视频一| 欧美在线免费一级片| 中文在线一区二区三区| 欧美私模裸体表演在线观看| 18加网站在线| 欧美午夜精品久久久久久蜜| 国产在线视视频有精品| 日本在线视频免费| 一本色道久久88综合亚洲精品ⅰ | 国产91精品久久久久久久网曝门| 日韩精品一区二区在线播放| 中文字幕精品在线| 99精品中文字幕在线不卡| 动漫av免费观看| 亚洲一区视频在线| 国产一级在线| 国产高清在线一区| 免费黄网站欧美| 亚洲一区欧美在线| 久久精品免费电影| 亚洲人成网77777色在线播放| 中文国产在线观看|