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

架構設計中如何應對接口級故障?

開發 架構
接口級故障的典型表現就是,系統并沒有宕機、網絡也沒有中斷,但業務卻出現問題了,例如業務響應緩慢、大量訪問超時和大量訪問出現異常(給用戶彈出提示“無法連接數據庫”)。

在實際業務運行過程中,有一種故障影響可能沒有那么大,但發生的概率較高,這就是今天聊的接口級的故障。

接口級故障的典型表現就是,系統并沒有宕機、網絡也沒有中斷,但業務卻出現問題了,例如業務響應緩慢、大量訪問超時和大量訪問出現異常(給用戶彈出提示“無法連接數據庫”)。

這類問題的主要原因在于系統壓力太大、負載太高,導致無法快速處理業務請求,由此引發更多的后續問題。最常見的情況就是,數據庫慢查詢將數據庫的服務器資源耗盡,導致讀寫超時,業務讀寫數據庫時要么無法連接數據庫、要么超時,最終用戶看到的現象就是訪問很慢,一會兒訪問拋出異常,一會兒訪問又是正常結果。

如果進一步探究,導致接口級故障的原因可以分為兩大類:

  • 內部原因:包括程序bug導致死循環,某個接口導致數據庫慢查詢,程序邏輯不完善導致耗盡內存等。
  • 外部原因:包括黑客攻擊,促銷或者搶購引入了超出平時幾倍甚至幾十倍的用戶,第三方系統大量請求,第三方系統響應緩慢等。

解決接口級故障的核心思想和異地多活基本類似,都是優先保證核心業務優先保證絕大部分用戶。常見的應對方法有四種,降級、熔斷、限流和排隊,下面我會一一講解。

1. 降級

降級指系統將某些業務或者接口的功能降低,可以是只提供部分功能,也可以是完全停掉所有功能。

例如,論壇可以降級為只能看帖子,不能發帖子;也可以降級為只能看帖子和評論,不能發評論;而App的日志上傳接口,可以完全停掉一段時間,這段時間內App都不能上傳日志。

降級的核心思想就是丟車保帥,優先保證核心業務。

例如,對于論壇來說,90%的流量是看帖子,那我們就優先保證看帖的功能;對于一個App來說,日志上傳接口只是一個輔助的功能,故障時完全可以停掉。

常見的實現降級的方式有兩種:

1.1 系統后門降級

簡單來說,就是系統預留了后門用于降級操作。例如,系統提供一個降級URL,當訪問這個URL時,就相當于執行降級指令,具體的降級指令通過URL的參數傳入即可。這種方案有一定的安全隱患,所以也會在URL中加入密碼這類安全措施。

系統后門降級的方式實現成本低,但主要缺點是如果服務器數量多,需要一臺一臺去操作,效率比較低,這在故障處理爭分奪秒的場景下是比較浪費時間的。

1.2 獨立降級系統

為了解決系統后門降級方式的缺點,我們可以將降級操作獨立到一個單獨的系統中,實現復雜的權限管理、批量操作等功能。

其基本架構如下:

圖片圖片

2. 熔斷

熔斷是指按照規則停掉外部接口的訪問,防止某些外部接口故障導致自己的系統處理能力急劇下降或者出故障。

圖片圖片

熔斷和降級是兩個比較容易混淆的概念,因為單純從名字上看,好像都有禁止某個功能的意思。但它們的內涵是不同的,因為降級的目的是應對系統自身的故障,而熔斷的目的是應對依賴的外部系統故障的情況。

假設一個這樣的場景:A服務的X功能依賴B服務的某個接口,當B服務的接口響應很慢的時候,A服務的X功能響應肯定也會被拖慢,進一步導致A服務的線程都被卡在X功能處理上,于是A服務的其他功能都會被卡住或者響應非常慢。

這時就需要熔斷機制了:A服務不再請求B服務的這個接口,A服務內部只要發現是請求B服務的這個接口就立即返回錯誤,從而避免A服務整個被拖慢甚至拖死。

實現熔斷機制有兩個關鍵點:

一是需要有一個統一的API調用層,由API調用層來進行采樣或者統計。如果接口調用散落在代碼各處,就沒法進行統一處理了。

二是閾值的設計,例如1分鐘內30%的請求響應時間超過1秒就熔斷,這個策略中的“1分鐘”“30%”“1秒”都對最終的熔斷效果有影響。實踐中,一般都是先根據分析確定閾值,然后上線觀察效果,再進行調優。

3. 限流

降級是從系統功能優先級的角度考慮如何應對故障,而限流則是從用戶訪問壓力的角度來考慮如何應對故障。限流指只允許系統能夠承受的訪問量進來,超出系統訪問能力的請求將被丟棄。

雖然“丟棄”這個詞聽起來讓人不太舒服,但保證一部分請求能夠正常響應,總比全部請求都不能響應要好得多。

限流一般都是系統內實現的,常見的限流方式可以分為兩類:基于請求限流和基于資源限流。

3.1 基于請求限流

基于請求限流指從外部訪問的請求角度考慮限流,常見的方式有兩種。

第一種是限制總量,也就是限制某個指標的累積上限,常見的是限制當前系統服務的用戶總量,例如:某個直播間限制總用戶數上限為100萬,超過100萬后新的用戶無法進入;某個搶購活動商品數量只有100個,限制參與搶購的用戶上限為1萬個,1萬以后的用戶直接拒絕。

第二種是限制時間量,也就是限制一段時間內某個指標的上限,例如1分鐘內只允許10000個用戶訪問;每秒請求峰值最高為10萬。

無論是限制總量還是限制時間量,共同的特點都是實現簡單,但在實踐中面臨的主要問題是比較難以找到合適的閾值。例如系統設定了1分鐘10000個用戶,但實際上6000個用戶的時候系統就扛不住了;或者達到1分鐘10000用戶后,其實系統壓力還不大,但此時已經開始丟棄用戶訪問了。

即使找到了合適的閾值,基于請求限流還面臨硬件相關的問題。例如一臺32核的機器和64核的機器處理能力差別很大,閾值是不同的,可能有的技術人員以為簡單根據硬件指標進行數學運算就可以得出來,實際上這樣是不可行的,64核的機器比32核的機器,業務處理性能并不是2倍的關系,可能是1.5倍,甚至可能是1.1倍。

為了找到合理的閾值,通常情況下可以采用性能壓測來確定閾值,但性能壓測也存在覆蓋場景有限的問題,可能出現某個性能壓測沒有覆蓋的功能導致系統壓力很大;另外一種方式是逐步優化:先設定一個閾值然后上線觀察運行情況,發現不合理就調整閾值。

基于上述的分析,根據閾值來限制訪問量的方式更多的適應于業務功能比較簡單的系統,例如負載均衡系統、網關系統、搶購系統等。

3.2 基于資源限流

基于請求限流是從系統外部考慮的,而基于資源限流是從系統內部考慮的,也就是找到系統內部影響性能的關鍵資源,對其使用上限進行限制。常見的內部資源包括連接數、文件句柄、線程數和請求隊列等。

例如,采用Netty來實現服務器,每個進來的請求都先放入一個隊列,業務線程再從隊列讀取請求進行處理,隊列長度最大值為10000,隊列滿了就拒絕后面的請求;也可以根據CPU的負載或者占用率進行限流,當CPU的占用率超過80%的時候就開始拒絕新的請求。

基于資源限流相比基于請求限流能夠更加有效地反映當前系統的壓力,但實際設計時也面臨兩個主要的難點:如何確定關鍵資源,以及如何確定關鍵資源的閾值。

通常情況下,這也是一個逐步調優的過程:設計的時候先根據推斷選擇某個關鍵資源和閾值,然后測試驗證,再上線觀察,如果發現不合理,再進行優化。

限流算法

為了更好地實現前面描述的各種限流方式,通常情況下我們會基于限流算法來設計方案。常見的限流算法有兩大類四小類,它們的實現原理和優缺點各不相同,在實際設計的時候需要根據業務場景來選擇。

(1)時間窗

第一大類是時間窗算法,它會限制一定時間窗口內的請求量或者資源消耗量,根據實現方式又可以細分為“固定時間窗”和“滑動時間窗”。

  • 固定時間窗

固定時間窗算法的實現原理是,統計固定時間周期內的請求量或者資源消耗量,超過限額就會啟動限流,如下圖所示:

圖片圖片

它的優點是實現簡單,缺點是存在臨界點問題。例如上圖中的紅藍兩點只間隔了短短10秒,期間的請求數卻已經達到200,超過了算法規定的限額(1分鐘內處理100)。但是因為這些請求分別來自兩個統計窗口,從單個窗口來看還沒有超出限額,所以并不會啟動限流,結果可能導致系統因為壓力過大而掛掉。

  • 滑動時間窗

為了解決臨界點問題,滑動時間窗算法應運而生,它的實現原理是,兩個統計周期部分重疊,從而避免短時間內的兩個統計點分屬不同的時間窗的情況,如下圖所示:

圖片圖片

總體上來看,滑動時間窗的限流效果要比固定時間窗更好,但是實現也會稍微復雜一些。

(2)桶算法

第二大類是桶算法,用一個虛擬的“桶”來臨時存儲一些東西。根據桶里面放的東西,又可以細分為“漏桶”和“令牌桶”。

  • 漏桶

漏桶算法的實現原理是,將請求放入“桶”(消息隊列等),業務處理單元(線程、進程和應用等)從桶里拿請求處理,桶滿則丟棄新的請求,如下圖所示:

圖片圖片


我們可以看到漏桶算法的三個關鍵實現點:

  • 流入速率不固定:可能瞬間流入非常多的請求,例如0點簽到、整點秒殺。
  • 勻速(極速)流出:這是理解漏桶算法的關鍵,也就是說即使大量請求進入了漏桶,但是從漏桶流出的速度是勻速的,速度的最大值就是系統的極限處理速度(對應圖中的“極速”)。這樣就保證了系統在收到海量請求的時候不被壓垮,這是第一層的保護措施。需要注意的是:如果漏桶沒有堆積,那么流出速度就等于流入速度,這個時候流出速度就不是勻速的。
  • 桶滿則丟棄請求:這是第二層保護措施,也就是說漏桶不是無限容量,而是有限容量,例如漏桶最多存儲100萬個請求,桶滿了則直接丟棄后面的請求。

漏桶算法的技術本質是總量控制,桶大小是設計關鍵,具體的優缺點如下:

  • 突發大量流量時丟棄的請求較少,因為漏桶本身有緩存請求的作用。
  • 桶大小動態調整比較困難(例如 Java BlockingQueue),需要不斷的嘗試才能找到符合業務需求的最佳桶大小。
  • 無法精確控制流出速度,也就是業務的處理速度。

漏桶算法主要適用于瞬時高并發流量的場景(例如剛才提到的0點簽到、整點秒殺等)。在短短幾分鐘內涌入大量請求時,為了更好的業務效果和用戶體驗,即使處理慢一些,也要做到盡量不丟棄用戶請求。

  • 令牌桶算法

令牌桶算法和漏桶算法的不同之處在于,桶中放入的不是請求,而是“令牌”,這個令牌就是業務處理前需要拿到的“許可證”。也就是說,當系統收到一個請求時,先要到令牌桶里面拿“令牌”,拿到令牌才能進一步處理,拿不到就要丟棄請求。

它的實現原理是如下圖所示:

圖片圖片

我們可以看到令牌桶算法的三個關鍵設計點:

  • 有一個處理單元往桶里面放令牌,放的速率是可以控制的。
  • 桶里面可以累積一定數量的令牌,當突發流量過來的時候,因為桶里面有累積的令牌,此時的業務處理速度會超過令牌放入的速度。
  • 如果令牌不足,即使系統有能力處理,也會丟棄請求。

令牌桶算法的技術本質是速率控制,令牌產生的速率是設計關鍵,具體的優缺點如下:

  • 可以動態調整處理速率,實現更加靈活。
  • 突發大量流量的時候可能丟棄很多請求,因為令牌桶不能累積太多令牌。
  • 實現相對復雜。

令牌桶算法主要適用于兩種典型的場景,一種是需要控制訪問第三方服務的速度,防止把下游壓垮,例如支付寶需要控制訪問銀行接口的速率;另一種是需要控制自己的處理速度,防止過載,例如壓測結果顯示系統最大處理TPS是100,那么就可以用令牌桶來限制最大的處理速度。

剛才介紹漏桶算法的時候我提到漏桶算法可以應對瞬時高并發流量,現在介紹令牌桶算法的時候,我又說令牌桶允許突發流量。

你可能會問,這兩種說法好像差不多啊,它們到底有什么區別,到底誰更適合做秒殺呢?

其實,令牌桶的“允許突發”實際上只是“允許一定程度的突發”,比如系統處理能力是每秒100 TPS,突發到120 TPS是可以的,但如果突發到1000 TPS的話,系統大概率就被壓垮了。所以處理秒殺時高并發流量,還是得用漏桶算法。

令牌桶的算法原本是用于網絡設備控制傳輸速度的,而且它控制的目的是保證一段時間內的平均傳輸速度。之所以說令牌桶適合突發流量,是指在網絡傳輸的時候,可以允許某段時間內(一般就幾秒)超過平均傳輸速率,這在網絡環境下常見的情況就是“網絡抖動”。

但這個短時間的突發流量并不會導致雪崩效應,網絡設備也能夠處理得過來。對應到令牌桶應用到業務處理的場景,就要求即使有突發流量來了,系統自己或者下游系統要真的能夠處理的過來,否則令牌桶允許突發流量進來,結果系統或者下游處理不了,那還是會被壓垮。

因此,令牌桶在實際設計的時候,桶大小不能像漏桶那樣設計很大,需要根據系統的處理能力來進行仔細的估算。例如,漏桶算法的桶容量可以設計為100萬,但是一個每秒30 TPS的令牌桶,桶的容量可能只能設計成40左右。海外有的銀行給移動錢包提供的接口TPS上限是30,壓測到了40就真的掛了。

4. 排隊

排隊實際上是限流的一個變種,限流是直接拒絕用戶,排隊是讓用戶等待一段時間,全世界最有名的排隊當屬12306網站排隊了。

排隊雖然沒有直接拒絕用戶,但用戶等了很長時間后進入系統,體驗并不一定比限流好。

由于排隊需要臨時緩存大量的業務請求,單個系統內部無法緩存這么多數據,一般情況下,排隊需要用獨立的系統去實現,例如使用Kafka這類消息隊列來緩存用戶請求。

下圖是1號店的“雙11”秒殺排隊系統架構:

圖片圖片

它的基本實現摘錄如下:

【排隊模塊】 負責接收用戶的搶購請求,將請求以先入先出的方式保存下來。每一個參加秒殺活動的商品保存一個隊列,隊列的大小可以根據參與秒殺的商品數量(或加點余量)自行定義。

【調度模塊】 負責排隊模塊到服務模塊的動態調度,不斷檢查服務模塊,一旦處理能力有空閑,就從排隊隊列頭上把用戶訪問請求調入服務模塊,并負責向服務模塊分發請求。這里調度模塊扮演一個中介的角色,但不只是傳遞請求而已,它還擔負著調節系統處理能力的重任。我們可以根據服務模塊的實際處理能力,動態調節向排隊系統拉取請求的速度。

【服務模塊】 負責調用真正業務來處理服務,并返回處理結果,調用排隊模塊的接口回寫業務處理結果。

小結

今天我為你講了接口級故障的四種應對方法,分別是降級、熔斷、限流和排隊,希望對你有所幫助。

方法

實現原理

場景

案例

降級

停掉故障接口,收到接口請求后直接返回錯誤,避免不重要的接口故障后產生鏈式反應,導致系統整體故障

應對系統自身的接口故障

論壇可以降級為只能看帖子,不能發帖子;

淘寶雙十一的時候將“領淘金幣”降級

熔斷

按照規則停掉外部接口的訪問,防止某些外部接口故障導致自己的系統處理能力急劇下降或者出故障

依賴的外部系統的接口故障

支付寶雙十一訪問某銀行的支付接口,一分鐘內失敗率超過設定的閾值,接下來10分鐘內不再訪問此接口,10分鐘后再試

限流

只允許系統能夠承受的訪問量進來,超出系統訪問能力的請求將被丟棄,防止系統被壓垮

應對訪問壓力過大的情況

0點簽到、整點秒殺;

支付寶控制訪問銀行接口的速率

排隊

盡量接收用戶的請求,但是沒有立即處理,而是先將用戶請求緩存起來,需要用戶等待一段時間才會真正開始處理

應對用戶訪問壓力過大的情況,相比限流可以有更好的用戶體驗,但實現更復雜

12306購票;

1號店雙一秒殺


責任編輯:武曉燕 來源: 一安未來
相關推薦

2024-05-06 08:43:00

2018-06-05 09:31:01

微博緩存架構設計

2025-03-06 01:00:55

架構推送服務編程語言

2024-08-16 14:01:00

2015-06-02 04:17:44

架構設計審架構設計說明書

2016-01-11 11:20:43

2018-05-17 10:10:17

架構設計優化

2022-04-11 09:15:00

前端開發技術

2015-06-02 04:34:05

架構設計

2015-10-13 10:06:41

數據遷移技術選型架構設計

2017-09-27 13:56:58

微服務架構故障網絡

2021-11-08 06:57:35

Redis架構設計

2009-07-06 10:36:41

敏捷開發

2022-05-24 09:30:00

消息吞吐車聯網平臺車聯網

2009-08-25 13:25:00

Java企業級應用架構分布式結構

2013-05-27 10:58:28

Tumblr架構設計雅虎收購

2025-03-04 00:00:33

2017-05-17 14:51:31

DNS架構負載均衡

2022-05-18 10:07:29

EMQ車聯網MQTT

2024-05-27 08:32:45

點贊
收藏

51CTO技術棧公眾號

欧美国产亚洲精品| 国产精品免费播放| 亚洲一区在线| 亚洲成人免费网站| 久久精品午夜福利| 北岛玲日韩精品一区二区三区| 青草国产精品久久久久久| 综合国产在线观看| www.黄色网| 欧美一区久久久| 中文字幕一区二区三区不卡| 国产91社区| 成人免费视频国产免费| 亚洲成人av| 亚洲欧美激情视频| 午夜激情视频网| 性爽视频在线| 亚洲摸摸操操av| 欧美裸体网站| 国产99对白在线播放| 韩日欧美一区| 日韩中文娱乐网| 北岛玲一区二区| 欧美专区视频| 欧美在线一区二区三区| 精品国产av无码一区二区三区| 你懂的视频在线播放| 国产成人精品免费| 国产精品一区二区三区在线播放 | 国产视频在线观看视频| 国产精品久久久久久久免费软件 | 成人午夜视屏| 亚洲一区在线观看免费| 亚洲国产一区二区在线| 四虎影视在线播放| 国产成人综合亚洲91猫咪| 国产精品久久久久久久久免费 | 91国产免费观看| 日本福利视频一区| 成人性生交大片免费看午夜| av电影在线观看一区| 91日本在线视频| 波多野结衣一本一道| 亚洲三级免费| 欧美精品videosex牲欧美| 天天鲁一鲁摸一摸爽一爽| 国产精品亚洲片在线播放| 欧美成人性战久久| 欧美体内she精高潮| 久久人人视频| 欧美综合久久久| 99热成人精品热久久66| 国产高清中文字幕在线| 亚洲精品视频自拍| 日韩国产精品毛片| 国产欧美黑人| 亚洲日本在线a| 制服丝袜综合日韩欧美| 在线日本中文字幕| 国产精品久久毛片a| 杨幂一区欧美专区| 日本www在线观看| 自拍偷在线精品自拍偷无码专区| 亚洲国产精品一区二区第四页av| 国产三级电影在线| 国产无遮挡一区二区三区毛片日本| 精品国产一区二区三区日日嗨| 开心激情综合网| 99久久精品免费看国产免费软件| 国产精品麻豆免费版| 黄色av中文字幕| 99在线精品观看| 麻豆精品蜜桃一区二区三区| 日本韩国一区| 欧美激情一区二区| 午夜啪啪免费视频| 亚洲综合影视| 午夜日韩在线电影| 国产男女激情视频| 成人免费视频观看| 91精品国产综合久久精品| 丰满人妻一区二区三区53视频| 免费精品一区| 亚洲激情视频在线| 中文字幕被公侵犯的漂亮人妻| 欧美精品系列| 久久国产精品电影| 日本天堂网在线观看| 欧美专区18| 国产精品视频xxxx| av中文字幕播放| 91色九色蝌蚪| 亚洲一区精品视频| 美女航空一级毛片在线播放| 欧美性69xxxx肥| 欧美第一页浮力影院| 在这里有精品| 亚洲乱码国产乱码精品精天堂| 久久视频精品在线观看| 夜间精品视频| 青草青草久热精品视频在线观看| 国产又粗又大又爽| 99久久精品国产麻豆演员表| 亚洲三级一区| 麻豆mv在线看| 在线播放中文字幕一区| 亚洲一区二区三区无码久久| 久久国产成人精品| 97精品视频在线播放| 瑟瑟视频在线免费观看| 国产成人综合网| 亚洲高清在线播放| 欧美伦理91| 欧美一级日韩不卡播放免费| 久久精品一区二区免费播放| 亚洲一本二本| 国产精品高潮呻吟久久av无限 | 日韩电影在线观看中文字幕| 国精产品久拍自产在线网站| 国产精品久久久久久模特| 成人女保姆的销魂服务| 久久久久久女乱国产| 亚洲制服欧美中文字幕中文字幕| 久久久久免费精品| 给我免费播放日韩视频| 日韩最新av在线| 亚洲黄网在线观看| 97久久精品人人做人人爽50路| 国产av不卡一区二区| 亚洲成人av观看| 日韩电影中文字幕av| 久久综合久久鬼| 国产在线视频一区二区| 日韩三级电影| 国产精品av一区二区三区| 亚洲国产成人久久综合一区| 老司机成人免费视频| 久久成人免费网| 日韩精品欧美在线| 欧美成人免费电影| 亚洲精品一区二区在线| 日韩三级一区二区三区| 国产69精品久久久久毛片| 国产高清精品软男同| 欧美一区=区三区| 正在播放亚洲1区| 婷婷激情五月综合| 久久久一区二区三区| 91丨porny丨探花| av毛片精品| 欧美激情视频网站| 亚洲av无码乱码在线观看性色| 亚洲女女做受ⅹxx高潮| 99热一区二区| 99久久久国产精品美女| 成人黄色免费网站在线观看| 在线激情网站| 91精品国产综合久久久久久久久久| 日本污视频网站| 麻豆国产精品官网| 国产精品美女在线播放| 91九色成人| 欧美成人精品在线播放| 性一交一乱一乱一视频| 亚洲综合偷拍欧美一区色| 91成人在线观看喷潮蘑菇| 国内在线观看一区二区三区| 97超碰资源| www.youjizz.com在线| 日韩大陆毛片av| 无码人妻精品一区二区三区9厂| 久久精品人人爽人人爽| 一区二区三区 日韩| 91欧美国产| 99国内精品久久久久久久软件| 黄页网站大全在线免费观看| 亚洲第一福利视频| 青草视频在线观看免费| 国产三级一区二区三区| 伊人国产在线视频| 一区二区国产在线| 国产亚洲自拍偷拍| 国产亚洲一区二区手机在线观看 | 日本一本在线免费福利| 日韩精品免费在线观看| 亚洲中文字幕在线一区| 亚洲综合色视频| 亚洲最大成人网站| 精品一区二区在线看| 青青青在线观看视频| 国产精品中文字幕亚洲欧美| 91性高湖久久久久久久久_久久99| 成年人视频免费在线播放| 国产一区二区三区在线看| 国产美女精品视频国产| 色综合天天综合在线视频| 特一级黄色录像| 99精品一区二区| 午夜啪啪小视频| 国产手机视频一区二区| youjizz.com亚洲| 偷拍自拍亚洲色图| 91美女福利视频高清| 精品91久久| 久久久久久久久国产| 9191在线| 日韩av综合网| 午夜精品在线播放| 欧美三级日韩三级| 中文字幕精品三级久久久| 亚洲免费观看高清在线观看| 亚洲理论片在线观看| 国产激情一区二区三区| 一级特黄性色生活片| 中文无码久久精品| 色综合666| 加勒比久久高清| 91在线观看免费高清完整版在线观看| 国产高潮在线| 欧美成人午夜剧场免费观看| 欧美一区二区三区少妇| 日韩视频免费观看高清在线视频| 成人免费视频毛片| 亚洲美女免费在线| 日本不卡一区视频| 91在线高清观看| 天天操狠狠操夜夜操| 免费在线成人网| 欧美一级视频免费看| 五月精品视频| 日韩精品资源| 狠狠做六月爱婷婷综合aⅴ| 俄罗斯精品一区二区三区| 久久精品嫩草影院| 国产精品入口尤物| 亚洲精品福利电影| 欧美激情亚洲视频| 免费网站成人| 日韩中文字幕av| 黄色毛片在线看| 亚洲第一视频在线观看| 国模无码一区二区三区| 在线不卡a资源高清| 国产午夜无码视频在线观看| 亚洲免费在线电影| 欧美成人aaa片一区国产精品| 中文字幕av一区二区三区高| 青青草视频成人| 久久亚洲春色中文字幕久久久| 亚洲色图欧美另类| 国产高清视频一区| 亚洲娇小娇小娇小| 精品一区二区免费| 亚洲高清在线免费观看| 亚洲欧美春色| 91猫先生在线| 国产一区成人| 人妻内射一区二区在线视频| 激情久久久久久久| av在线免费观看国产| 欧美色图国产精品| 在线天堂一区av电影| 成人在线电影在线观看视频| 手机成人在线| 久久精品欧美一区| 中文字幕制服丝袜在线| 午夜久久免费观看| 国产成人在线小视频| 欧美婷婷在线| 毛片在线播放视频| 亚洲一区二区三区四区五区午夜| 成人毛片视频网站| 美女一区二区视频| 亚洲精品性视频| 久久99精品国产.久久久久久| 999热精品视频| 国v精品久久久网| 久久精品女同亚洲女同13| 久久免费午夜影院| 91麻豆精品国产91久久综合| 国产精品视频麻豆| 国产亚洲欧美久久久久| 亚洲成人一区二区| 久久久免费高清视频| 色综合久久中文综合久久97| 国产免费a视频| 在线成人免费观看| 亚洲毛片在线播放| 亚洲欧美另类中文字幕| 1pondo在线播放免费| 色综合久久天天综线观看| gratisvideos另类灌满| 日韩女优人人人人射在线视频| 精品欧美一区二区三区在线观看| 91精品国产综合久久香蕉最新版 | 99免在线观看免费视频高清| 久久精品99久久久香蕉| 男女在线观看视频| 国产美女精品免费电影| 欧美欧美在线| 久久久久久久久久久一区| 国产精品久久久久无码av| www.成年人视频| 久久久人人人| 高潮一区二区三区| 久久综合九色综合欧美就去吻| 丰满的亚洲女人毛茸茸| 亚洲精品视频在线观看免费| 中文字幕av影院| 欧美一级欧美三级| 国产小视频福利在线| 国外成人在线视频| 欧美一级网址| 久久久www免费人成黑人精品| 91精品国产91久久综合| 每日在线更新av| 国产一区二区三区精品视频| 精品无码国产污污污免费网站| 成人欧美一区二区三区在线播放| 91久久国产视频| 日韩一区二区三区电影在线观看| 视频一区二区在线播放| 久久久精品999| 日韩精品一页| 美脚丝袜一区二区三区在线观看| 婷婷亚洲五月色综合| 性刺激的欧美三级视频| 99国产精品久| 久久免费黄色网址| 日韩写真欧美这视频| yw在线观看| 91av在线影院| 欧美丝袜美腿| a天堂资源在线观看| 久国产精品韩国三级视频| av黄色在线免费观看| 精品二区三区线观看| 国产又粗又黄视频| 亚洲夜晚福利在线观看| 超碰99在线| 九九九九精品| 欧美日韩国产免费观看| 尤物国产在线观看| 国产精品国产三级国产aⅴ入口| 亚洲日本视频在线观看| 亚洲第一免费网站| 色吧亚洲日本| 精品一区在线播放| 99在线精品视频在线观看| 手机在线成人av| 亚洲午夜久久久久久久久电影网| 一级久久久久久| 中文字幕日韩av电影| 欧美色网一区| 国产精品xxx在线观看www| 激情综合中文娱乐网| 麻豆传媒在线看| 国产精品乱码久久久久久 | 日韩欧美亚洲一二三区| 亚洲爱情岛论坛永久| 久久久女女女女999久久| 9l视频自拍蝌蚪9l视频成人| 亚洲精品天堂成人片av在线播放 | www.国产精品.com| 国产精品白嫩初高中害羞小美女 | 免费亚洲电影| 欧美一区二区福利| 久久不射2019中文字幕| 精品人妻一区二区三区四区| 欧美在线观看一区| 超碰国产在线观看| 国产日韩欧美黄色| 亚洲精品中文字幕乱码| 国产精品一级无码| 五月天亚洲婷婷| 免费一级在线观看| 国产精品啪视频| 国产一区二区三区自拍| 特黄特黄一级片| 亚洲二区视频在线| 国产区高清在线| 91久热免费在线视频| 亚洲精品99| 成年人网站免费看| 欧美自拍偷拍一区| 国产第一页在线视频| 韩国一区二区三区美女美女秀| 国产精品久久国产愉拍| 国产尤物在线播放| 精品国产一二三区| 福利视频一区| av影院在线播放| av一二三不卡影片| 91九色蝌蚪91por成人| 久久成人一区二区| 国产欧美一区二区三区米奇| 免费午夜视频在线观看| 国产精品乱码一区二区三区软件| 人人妻人人玩人人澡人人爽| 国产mv久久久|