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

面試官:你的系統限流閾值是怎么設定的?

系統 運維
限流,這個看似簡單的技術點,實則深潛著從算法理論到復雜工程實踐的諸多細節與權衡。希望今天這篇文章,能幫你把這些散落的知識點串聯起來,形成一套屬于你自己的、體系化的認知。

熔斷、降級、限流,作為保障系統穩定性的三駕馬車,想必大家已不陌生。但說實話,跟熔斷、降級比起來,限流這東西,要復雜得多。在面試中,多數時候對限流的考察停留在算法層面,偶爾會深入到像BBR這樣的動態算法。但有一個問題,堪稱“照妖鏡”,能立刻區分出候選人的深度,那就是:“你們系統限流的閾值是怎么定的?”

這個問題,光懂算法是絕對不夠的。它真正考驗的是你從理論到實踐的落地能力,以及對系統全貌的把控。今天,我就帶你把這個問題徹底盤透,讓你以后再遇到時,能給出一個讓面試官眼前一亮的答案。

一、基礎夯實:限流的核心三要素

在直面“閾值計算”這個核心難題之前,我們必須確保基礎知識的穩固。任何高階的探討都源于對基礎的深刻理解。限流的知識體系,可以歸納為三個核心要素:限流算法、限流對象、以及限流后的應對策略。

簡單來說,限流就是通過限制進入系統的流量大小來保護下游服務,它尤其擅長應對非預期的突發流量。無論是外部的惡意攻擊,還是內部由于異常情況(如緩存失效)導致的流量放大,限流都是保護系統的第一道,也是至關重要的防線。

1. 核心限流算法

限流算法五花八門,但從宏觀上可以分為兩大陣營:靜態算法與動態算法。

  • 靜態算法:這類算法的核心特點是閾值需要由研發人員預先設定。算法在運行期間,忠實地執行這個預設值,而不會主動關心服務器的真實負載是高是低。常見的靜態算法包括令牌桶、漏桶、固定窗口和滑動窗口。
  • 動態算法:又稱為自適應限流算法,其典型代表是 BBR (Bottleneck Bandwidth and Round-trip propagation time) 算法。這類算法借鑒了TCP擁塞控制的思想,通過實時監測系統的一系列關鍵指標(如RT、吞吐量),來動態地、智能地調整流量閾值,試圖在“壓榨系統性能”和“保證系統穩定”之間找到最佳平衡點。它控制的是業務請求,而TCP控制的是網絡報文,但其背后的博弈思想是相通的。

當然,除了這些業界公認的算法,我們完全可以結合自身業務的特點,設計符合特定場景的限流策略。比如,如果你的業務是一個內存消耗巨大的服務,那么將“剩余可用內存”作為關鍵指標,當內存水位低于某個閾值時就觸發限流,也是一種非常有效且合理的自定義算法。

下面,我們來快速回顧一下幾種經典的靜態算法。

(1) 令牌桶(Token Bucket)

令牌桶算法是一個非常經典且應用廣泛的模型。你可以把它想象成一個發號機:系統以一個恒定的速率(比如每秒100個)往一個有固定容量的桶里(比如容量200)投放令牌。每個外部請求到達時,都必須先嘗試從桶里獲取一個令牌。如果成功獲取,請求就被放行,繼續由后端業務邏輯處理;如果桶里已經沒有令牌了,那么該請求就會被限流。

令牌桶最關鍵的一個特性是允許一定程度的突發流量。由于桶本身有容量,在流量低谷期,即使沒有請求消耗,令牌也會持續生成并累積在桶里,直到裝滿為止。比如,桶的容量是200,生成速率是100個/秒。如果前幾秒很空閑,桶里已經攢了200個令牌。那么在接下來的一秒內,系統最多可以應對 100(本秒新生成) + 200(積攢的) = 300 個請求。這種“削峰填谷”的能力,使得令牌桶非常適合那些平時流量平穩,但偶爾會有瞬時高峰的業務場景。

(2) 漏桶(Leaky Bucket)

漏桶算法則提供了一種完全不同的思路。你可以把它想象成一個頂部開口、底部有孔的漏斗。無論上方的水流(請求)是多么洶涌或時斷時續,從底部漏下去的水流(被處理的請求)速率永遠是恒定且平滑的。

從某種意義上看,漏桶可以被視為令牌桶的一個特例,即桶容量為0的令牌桶。

在這種特例下,令牌一旦生成,就必須被立即消耗掉,沒有任何積攢的可能。因此,漏桶對流量的“整形”效果非常極致,它保證了后端業務接收到的請求速率是絕對均勻的。這對于一些處理能力非常敏感,無法承受任何流量毛刺的下游系統來說,是一種很好的保護機制。

(3) 固定窗口與滑動窗口

這兩種算法是基于時間窗口的計數器實現,也比較容易理解。

固定窗口:這種算法將時間軸粗暴地分割成一個個固定長度的區間(窗口),例如,每1秒一個窗口。然后在每個窗口內維護一個計數器。每當有請求進入,計數器加一。如果計數器的值超過了設定的閾值,那么該窗口內后續的所有請求都將被拒絕。當時間進入下一個窗口時,計數器被重置為0。這種算法實現簡單,但缺點在于窗口邊界的臨界問題。比如:限流閥值為每秒5個請求,單位時間窗口為1秒。如果在前0.5秒到1秒的時間內并發5個請求,接著在1秒到1.5秒的時間內又并發5個請求。雖然這兩個時間段各自都沒有超過限流閾值,但如果計算0.5秒到1.5秒的總請求數,則總共是10個請求,已經遠遠超過了1秒內不超過5個請求的限流標準。

滑動窗口:滑動窗口正是為了解決固定窗口的臨界問題而生的。它將一個大的時間窗口(比如1分鐘)分割成更小粒度的子窗口(比如60個1秒的子窗口)。每次請求到來,當前子窗口的計數器加一。當整個大窗口向右滑動時,它會丟棄掉最左邊的子窗口的計數值,并納入一個新的子窗口。整個大窗口的請求總數,就是所有子窗口計數器的總和。通過這種更平滑的窗口移動方式,滑動窗口避免了固定窗口在邊界上的突刺問題,使得限流控制更加精確。

雖然滑動窗口可以一定程度上解決窗口臨界流量已出問題,但是因為滑動窗口本質其實是將窗口粒度更小,但是        不管多小,仍然是以窗口來限制,所以總會存在流量不均導致的限流不準確問題

假設窗口以0.5s為小周期移動,如下圖,在【0.5s,1.5s】,【1.5s,2.5s】間其實都是合理的,不會有流量超出,但是其實在【0.8s,1.8s】間就有10個請求了,并沒有達到限流效果

2. 限流對象

明確了算法,我們還需要清晰地定義限流的作用對象。

從部署維度看,可以分為單機限流和集群限流。

  • 單機限流:限流邏輯僅在單個服務實例內部生效,實現簡單,但無法對整個集群的總流量進行控制。
  • 集群限流:需要一個中心化的組件來統計整個集群的流量信息。Redis 因其高性能的原子操作(如 INCR)而成為實現集群限流的常用選擇。當然,如果限流邏輯本身是實現在網關層(如 Nginx、Spring Cloud Gateway),那么網關節點自身就可以作為這個“中心節點”,從而擺脫對外部中間件的依賴。

從業務維度看,限流的對象就更加豐富多樣了。

  • 按用戶身份:例如,在提供增值服務時,可以對VIP用戶不限流,而對普通用戶的訪問頻率進行限制。
  • 按IP地址:這是防范DDoS攻擊和惡意爬蟲的經典手段。例如,對登錄、注冊、秒殺等關鍵接口,可以限制單個IP在單位時間內的請求次數。正常用戶的“手速”是有限的,即便考慮到公共出口IP的情況,設置一個合理的閾值(如50次/秒)也能有效地將大部分機器行為擋在門外。
  • 按業務ID:例如,針對某個特定的userId、orderId或productId進行限流,以防止單個用戶或針對單個業務實體的濫用行為,確保資源的公平使用。

3. 限流后的應對策略

當一個請求不幸被限流策略“命中”時,我們并非只能簡單粗暴地返回一個錯誤碼。設計精巧的后續處理方案,同樣是體現架構水平的地方。

  • 同步阻塞等待:如果只是偶發性地、輕微地超出了閾值(例如,限流100 QPS,卻來了101個請求),讓這多出來的1個請求短暫地阻塞等待一會兒,也許幾十毫秒后就能獲取到新的令牌。這種方式對用戶幾乎是無感的。但必須要注意,等待必須設置超時時間,不能讓請求無限期地阻塞下去,否則可能會耗盡服務端的線程資源。

  • 同步轉異步:這是一種非常優雅的“削峰填谷”手段。對于未被限流的請求,正常同步處理并返回結果;對于被限流的請求,我們可以將其信息持久化(例如,存入消息隊列MQ),并立即給用戶一個“排隊中”或“稍后處理”的友好提示。然后由后臺的消費者任務在業務低峰期,從MQ中拉取這些請求進行處理。這與服務降級中的“異步處理”思路如出一轍。
  • 聯動負載均衡:當某個服務節點頻繁觸發限流時,這本身就是一個強烈的信號,表明該節點已經處于高負載或過載狀態。這個信號可以被上游的負載均衡器捕獲。負載均衡器可以據此動態地降低該節點的權重,從而減少后續分配給它的新請求流量。注意,這與熔斷不同,熔斷是徹底切斷流量,而這里只是降低流量的概率,是一種更為柔和的保護性降級。

二、直面“靈魂拷問”:閾值到底怎么算?

好了,經過前面的充分熱身,現在讓我們正式進入本文的核心戰場:當面試官問你“限流閾值怎么定”時,他到底想聽到什么?

他想聽到的,絕不是“憑感覺”、“拍腦袋”或者“領導定的”。他想考察的是你是否具備一套科學的、體系化的方法論來解決這個至關重要的工程問題。

總體來說,確定閾值有四種主流思路,其可靠性依次遞減:壓力測試、觀測監控、參考借鑒和手動估算。

1. 做壓力測試(黃金標準)

這是確定服務容量和限流閾值的最佳實踐,是所有嚴謹的工程團隊都應遵循的準則。

你可以這樣展開你的回答:

“要科學地確定限流閾值,最可靠的方法就是進行壓力測試,精準地找到我們服務的‘性能拐點’。如果公司的基建條件允許,全鏈路壓測是首選,因為它能最真實地模擬線上環境的復雜調用關系和資源競爭,得出的數據也最具有參考價值。如果暫時不具備全鏈路壓測的條件,那么退而求其次,也應該在預發布環境或者一個硬件配置與線上一致的獨立測試環境中,對目標服務進行單節點的壓力測試。”

接下來,是真正展現你技術功底的時刻了。你需要清晰地解釋如何解讀壓測數據。你可以在白板上或者用語言生動地描述出下面這張經典的性能曲線圖。

“在壓測過程中,我們會以QPS(每秒查詢率)為橫軸,不斷增加施加的壓力,同時密切觀測三個核心的性能指標:響應時間(Latency)、吞吐量(Throughput)和資源利用率(CPU/Memory Usage)。通常,我們會得到類似圖中所示的三條相互關聯的曲線。”

“從這張圖中,我們至少可以識別出三個具有里程碑意義的關鍵點位:”

  • “A點:最佳性能點。在A點之前,隨著QPS的穩步增長,服務的響應時間幾乎保持不變或僅有輕微上浮,系統處于‘游刃有余’的健康狀態。這個點可以為用戶提供最佳的性能體驗。”
  • “C點:最大吞吐量點。系統在這個點位達到了其能夠處理的請求量的極限。如果繼續增加壓力,超過C點后,由于內部資源(如線程、鎖、連接池)的過度爭搶,系統的總吞吐量反而會不增反降。”
  • “B點:系統崩潰臨界點。在這一點,服務的響應時間開始急劇惡化,系統處于極不穩定的狀態,隨時可能因資源耗盡而雪崩。很多時候,大家會把這個點對應的QPS視為服務的絕對容量極限。”

“那么,限流的閾值到底應該設在哪一點呢?這并沒有一個放之四海而皆準的答案,需要根據具體的業務場景和目標來進行權衡和取舍:”

“如果這個服務對用戶體驗(即低延遲)的要求極為苛刻,例如一些實時的交易或交互場景,我可能會選擇 A 點對應的QPS作為限流閾值,以犧牲一部分極限吞吐量為代價,換取最穩定、最快速的響應。”

“如果業務的核心目標是最大化處理能力,追求極致的吞吐量,例如一些后臺的、異步的數據處理任務,對單次任務的延遲不敏感,那么我可能會選擇 C 點對應的QPS作為閾值。”

“而對于大部分常規的在線業務,我們通常會在A點和C點之間尋找一個平衡點,或者更常見的做法是,以C點的QPS值乘以一個安全系數(例如80%或90%),以此作為最終的限流閾值,為系統預留出一定的緩沖空間。”

如果面試官提出質疑,比如“壓測在很多公司難以落地”,你需要展現出專業堅持和務實的態度。

“我非常理解在一些團隊中,由于技術基建、流程規范或資源限制,推行標準化的壓力測試確實存在挑戰。但我仍然堅信,壓測是保障系統性能和可用性的關鍵基石,是技術團隊走向成熟的必經之路。沒有精準的壓測數據作為支撐,許多性能優化、容量規劃和成本控制工作都將是‘盲人摸象’,難以科學地開展。所以我認為,我們應該積極地推動和建設壓測體系。”

2. 看監控數據(務實補充)

在表明了對壓測的專業立場后,你可以給出在無法壓測時的次優選擇。

“當然,如果在項目初期或者某些緊急情況下,確實來不及進行充分的壓測,我們也可以通過分析線上服務的歷史性能數據來初步估算一個相對合理的閾值。我會拉取過去一段時間(比如一個月或一個季度)的監控數據,重點關注業務高峰期的各項核心指標。如果在歷史峰值時刻,整個集群的總QPS都未曾超過1000,并且此時的CPU、內存、網絡IO等資源利用率也都在一個非常健康的水平(比如CPU低于60%),那么我可能會考慮將集群的總閾值初步設定在1200,多出來的200作為安全余量(Buffer),以應對未來的業務增長和無法預見的流量波動。”

同時,也要主動指出這種方法的固有缺陷:

“不過,這種方法有兩個明顯的局限性。第一,它依賴于服務已經上線并積累了足夠的歷史數據。第二,這樣得出的閾值很可能是顯著偏低的。因為業務的歷史峰值,并不等同于系統的性能極限。可能我們的集群明明能扛住3000 QPS,但因為業務量一直沒那么大,導致我們基于1000 QPS的觀測數據定了一個非常保守的閾值,這在某種程度上造成了硬件資源的閑置和浪費。”

3. 參考與借鑒(經驗之談)

如果連歷史數據都沒有,比如一個全新的業務,該怎么辦?

“如果是一個全新的業務,既沒有壓測數據,也沒有歷史監控數據,那么我們可以考慮第三種方法:參考和借鑒。我們可以尋找系統中與之業務邏輯類似、技術棧相同、或者存在上下游調用關系的服務。例如,如果服務A和服務B是緊密耦合的,通常調用了A就會調用B,那么我們可以參考A已經確定的限流閾值來設定B的閾值。又或者,我們可以根據業務轉化率來推算。例如,我們知道從‘創建訂單’接口到‘發起支付’接口,用戶的轉化率大約是90%。如果根據壓測,‘創建訂單’的單機限流閾值是100 QPS,那么‘支付’接口的單機閾值就可以初步設定為 90 QPS。”

4. 手動估算(無奈之舉)

這是在所有其他方法都不可行時的最后手段,準確度最差,但聊勝于無。

“如果以上方法都行不通,那就只剩下最后一招,也是最不精確的一招了:手動估算。具體做法是,我們需要詳細地分析單次請求的核心處理路徑,把它拆解成若干個關鍵步驟,并估算每一步的平均耗時。例如,一次請求的核心路徑包含:”

  • 1次對下游微服務的RPC調用(根據經驗或監控,平均耗時 20ms)
  • 2次對Redis的訪問(平均每次 1ms)
  • 1次會回表的數據庫查詢(平均耗時 10ms)

“將這些耗時相加,我們得到 20 + 2*1 + 10 = 32ms。再為CPU自身的計算、序列化/反序列化等邏輯處理預留一些時間,比如8ms。那么我們粗略估算出單次請求的總耗時大約是 40ms。基于這個耗時,我們可以估算理論QPS:”

  • 一個CPU核心在1秒鐘(1000ms)內,理論上能處理的請求數是 1000ms / 40ms = 25 個。
  • 如果我們的服務實例規格是 4 核 CPU,那么單機的理論QPS上限就是 25 * 4 = 100。
// 這是一個簡化的估算公式
(1000ms / 單次請求預估耗時) * CPU核心數 = 理論QPS上限

“當然,我必須強調,這個估算模型非常粗糙。它忽略了太多現實世界中的復雜因素,比如JVM的GC停頓、IO等待、網絡延遲、線程上下文切換、鎖競爭等等。所以,通過這種方式計算出來的值,必須再乘以一個比較大的折扣系數(比如50%或60%),得出一個非常保守的初始閾值。這個值只能作為服務上線時的臨時保護,后續必須盡快通過壓測或監控數據來進行修正。”

最后,你可以用一個具有前瞻性的觀點來升華你的整個回答:

“總而言之,確定閾值是一個系統性的、迭代的工程活動,需要結合多種方法。我所推崇的最佳實踐是,以嚴謹的壓力測試為基礎,以實時的線上監控為佐證,并最終將限流閾值設計成可通過配置中心動態調整的。這樣,我們就可以在服務上線初期采用一個保守的策略,然后根據線上的實際表現,逐步、安全地將閾值上調,最終讓系統的性能潛力得到充分而又安全的釋放。”

三、面試時的加分項與敘事技巧

除了正面回答核心問題,你還可以在面試中巧妙地穿插一些深入的思考,展現你的技術廣度和深度。

1. 突發流量(Bursty Traffic)與算法選擇

在介紹令牌桶和漏桶時,可以主動引出這個話題,展現你對算法適用場景的理解:

“在選擇限流算法時,一個重要的考量點就是服務是否需要應對突發流量。漏桶算法的輸出速率是絕對平滑的,它對偶發的突-發流量處理能力較差。相比之下,令牌桶通過其‘可積攢令牌’的機制,能夠很好地應對小規模的突發流量。例如,我們設置令牌生成速率是100個/秒,但桶的容量是50個。這意味著,如果前一秒系統比較空閑,攢下了50個令牌,那么下一秒最多可以處理 100(本秒生成的) + 50(積攢的) = 150 個請求。這在應對許多Web應用的瞬時高峰時非常有用。”

“但凡事有利有弊。令牌桶的容量(Burst Size)也需要謹慎設置。如果容量過大,積攢的令牌過多,那么在真正的流量洪峰到來時,可能會在短時間內放入遠超后端承受能力的請求,從而失去了限流的初衷,甚至成為壓垮系統的‘幫兇’。”

2. 請求大小(Request Size)的局限性

這是一個經常被忽略但非常深刻的問題,能體現你對問題本質的思考:

“另外,我們需要清醒地認識到,目前我們討論的所有主流限流算法,無論是哪一種,其限流的維度基本都是‘請求的個數’。這背后其實隱藏著一個重要的假設,即每個請求對系統資源的消耗是大致均等的。但在現實業務中,這個假設往往不成立。一個簡單的‘獲取用戶信息’的請求和一個復雜的‘生成年度報表’的請求,其消耗的CPU和內存可能相差幾個數量級。”

“這就導致了一個固有的局限性:即使我們嚴格地將請求數限制在每秒100個,但如果某一秒涌入的恰好都是‘重量級’的大請求,系統依然有因資源耗盡而崩潰的風險。動態限流算法通過監測響應時間等指標,在一定程度上能間接地感知到這種‘大請求’帶來的壓力,從而進行收縮,但也很難從根本上解決問題。這是一個在做限流設計時必須意識到的、理論層面的挑戰。”

3. 打造你的"故事線"

在面試中,最高級的溝通不是干巴巴地背誦知識點,而是將這些知識點有機地融入到你的項目故事中。

  • 準備翔實的案例:面試前,務必深入復盤你參與過的項目。限流具體用在了哪個場景?是對外的HTTP API做了IP限流,還是核心服務之間做了RPC限流?閾值是多少?當時是如何確定這個值的?被限流的請求是直接拒絕,還是排隊處理?把這些細節梳理清楚,它們是你最有力的“彈藥”。
  • 建立知識的關聯:展現你結構化的知識體系。在聊到系統設計、服務治理、API網關,甚至在聊到TCP擁塞控制時,都可以自然而然地把話題引到限流上,讓面試官看到你知識的廣度和連貫性。
  • 用行動證明能力:如果你有時間和精力,可以嘗試為一些知名的開源框架(比如gRPC、Dubbo、Spring Cloud)貢獻一個限流相關的PR。這不一定要求代碼被合并,關鍵在于,這個過程本身就是一個強有力的證據,它能向面試官雄辯地證明:你不僅懂理論,還能動手實現,并且擁有擁抱開源的技術熱情。

四、小結

限流,這個看似簡單的技術點,實則深潛著從算法理論到復雜工程實踐的諸多細節與權衡。希望今天這篇文章,能幫你把這些散落的知識點串聯起來,形成一套屬于你自己的、體系化的認知。

記住,下次再被問到限流時,不要只停留在背誦算法的層面。主動將話題引向閾值的科學計算方法論,向面試官展示你如何結合監控、壓測、業務分析等多種手段來解決一個復雜的、現實的工程問題。這才是讓你在眾多候選人中脫穎而出的關鍵所在。

責任編輯:趙寧寧 來源: IT楊秀才
相關推薦

2024-12-25 15:44:15

2024-02-04 10:08:34

2024-05-11 15:11:44

系統軟件部署

2015-08-13 10:29:12

面試面試官

2024-04-19 00:00:00

計數器算法限流算法

2024-02-26 14:07:18

2023-02-20 08:08:48

限流算法計數器算法令牌桶算法

2023-11-20 10:09:59

2023-10-28 09:13:32

系統面試官架構

2024-06-06 11:57:44

2025-02-26 12:19:52

2025-03-10 11:48:22

項目服務設計

2023-12-19 09:24:22

LinuxBIOSUEFI

2025-10-28 02:00:00

2025-04-14 11:41:12

RocketMQ長輪詢配置

2023-02-08 07:04:20

死鎖面試官單元

2021-07-09 10:11:34

Redis云數據技術

2015-08-24 09:00:36

面試面試官

2021-11-25 10:18:42

RESTfulJava互聯網

2025-01-13 09:24:32

點贊
收藏

51CTO技術棧公眾號

日韩av成人高清| 深夜福利一区二区三区| 国产欧美一区二区精品性| 国产精品美女久久久久av超清| 色婷婷国产精品免| 亚洲不卡在线| 狠狠久久亚洲欧美专区| 日韩亚洲视频在线| xxxx18国产| 久久精品首页| 久久精品色欧美aⅴ一区二区| 91人妻一区二区| 二区三区不卡| 亚洲柠檬福利资源导航| 久久大香伊蕉在人线观看热2| 成年人视频免费| 欧美精品午夜| 伊人男人综合视频网| 久久久精品视频国产| 性欧美又大又长又硬| 中文字幕字幕中文在线中不卡视频| 国产精品播放| 亚洲天天综合网| 日韩一区二区久久| 久久国产精品免费视频| 亚洲性猛交xxxx乱大交| 91在线一区| 欧美情侣在线播放| 国产aaa一级片| √天堂8在线网| 久久久www成人免费无遮挡大片| 亚洲自拍偷拍色片视频| 91青青草视频| 一本久道久久综合狠狠爱| 久久精品国产亚洲精品| 精品国产成人亚洲午夜福利| 国产香蕉精品| 欧美一级黄色大片| 自拍偷拍21p| 国产超碰精品| 精品日韩美女的视频高清 | 第四色在线一区二区| 日本丰满少妇一区二区三区| 真人抽搐一进一出视频| a毛片在线看免费观看| 日本一区二区三区免费乱视频| 国产日韩一区二区| 午夜精品在线播放| 国内精品伊人久久久久av一坑| 国产精品69av| 97久久久久久久| 亚洲免费激情| 亚州欧美日韩中文视频| 伊人国产在线观看| 国色天香一区二区| 欧美劲爆第一页| 国产极品国产极品| 亚洲成人精品| 久久天天躁狠狠躁夜夜av| 少妇视频一区二区| 亚洲啊v在线观看| 另类色图亚洲色图| 综合五月激情网| 亚洲区综合中文字幕日日| 日韩在线观看免费网站| 貂蝉被到爽流白浆在线观看| 第一会所sis001亚洲| 日韩在线中文视频| 手机在线免费看毛片| 日韩av三级在线| 免费在线视频一级不卡| 国产无遮挡一区二区三区毛片日本| 久久99精品久久久久久秒播放器| 日韩欧美在线观看一区二区| 久久久噜噜噜久噜久久综合| 日韩欧美一区二区三区四区| 在线观看麻豆蜜桃| 亚洲色图欧洲色图婷婷| 国产av熟女一区二区三区| 888av在线视频| 一本一道久久a久久精品| 午夜视频你懂的| 国产一精品一av一免费爽爽| 精品成人一区二区三区| 魔女鞋交玉足榨精调教| 日韩精品1区| 欧美成人午夜激情在线| 亚洲免费激情视频| 日本中文在线一区| 114国产精品久久免费观看| 日韩一级片免费在线观看| 久久久国际精品| 夜夜爽www精品| a在线免费观看| 亚洲成人午夜影院| 女人另类性混交zo| 四虎国产精品免费久久| 日韩一区二区三区免费观看| 免费在线观看日韩av| 国产精品对白| 亚洲欧美一区二区三区久久| avhd101老司机| 欧美激情影院| 久久精品国产精品| 日韩精品久久久久久久酒店| 丝袜a∨在线一区二区三区不卡| 国产精品久久久久久久久久久新郎 | 色香蕉久久蜜桃| 一区二区三区 欧美| 欧美一级网址| 精品捆绑美女sm三区| 伊人久久一区二区三区| 首页国产精品| 国产69精品久久久久9999| 色一情一乱一伦| 久久精品国产久精国产爱| 99精品在线直播| 九色视频网站在线观看| 亚洲视频一二区| 成人在线免费观看av| 成人免费短视频| 日韩午夜三级在线| 欧美色图亚洲激情| 欧美在线亚洲| 日韩美女在线观看| a天堂视频在线| 久久久久久久久久电影| 精品丰满人妻无套内射| 9.1麻豆精品| 亚洲精品网站在线播放gif| 四虎影视1304t| 国产精品一二| 亚洲jizzjizz日本少妇| 国产在线视频资源| 亚洲成a人片在线观看中文| www.亚洲自拍| 欧美日韩性在线观看| 色综合久久久久久中文网| 免费在线不卡av| 成人成人成人在线视频| 色哟哟免费网站| 丝袜美腿一区| 日韩亚洲国产中文字幕欧美| 四虎永久免费在线| 免费成人性网站| 美国av一区二区三区| 欧美性video| 欧美日韩一区二区三区在线| 中文幕无线码中文字蜜桃| 激情久久综合| 国产欧美精品va在线观看| 高清美女视频一区| 色综合久久久久久久久| 制服丝袜在线第一页| 一区二区影院| 国产在线观看不卡| 自拍视频在线免费观看| 在线观看日产精品| 中文字幕高清视频| 在线亚洲伦理| 精品国产一区二区三区麻豆小说| 怡红院av在线| 日韩欧美中文字幕制服| 三级在线观看免费大全| 日韩成人一区二区三区在线观看| 国产精品一区二区三区精品 | 中文字幕免费在线观看视频一区| 九九九九免费视频| 久久91精品| 日韩**中文字幕毛片| 四虎影院在线播放| 精品久久久久久中文字幕大豆网 | 亚洲高清在线观看| 老熟妇高潮一区二区三区| 国产精品影视在线观看| 天天综合五月天| 亚洲我射av| 久久精品2019中文字幕| 国产精品人人爽| 中文字幕一区二区三区在线播放| 天天视频天天爽| 欧美在线色图| 97人人模人人爽视频一区二区| 国产激情在线| 日韩欧美国产综合在线一区二区三区 | 精品国产一区二区三区性色av| yellow中文字幕久久| 国产免费高清av| 一区二区三区蜜桃网| 亚洲观看黄色网| 亚洲巨乳在线| 秋霞毛片久久久久久久久| 欧美美女被草| 欧美大片在线看免费观看| 欧美一级性视频| 色婷婷久久99综合精品jk白丝| 舐め犯し波多野结衣在线观看| 蜜臀久久99精品久久久久久9 | 黄色小视频在线观看| 在线亚洲高清视频| 成人免费精品动漫网站| 国产精品自拍三区| 免费毛片小视频| 久久激情电影| 国产福利久久精品| 99re66热这里只有精品4| 久久精品在线视频| 婷婷综合激情网| 91黄色在线观看| 久久综合色综合| 久久久久99精品一区| 日韩av.com| 一本色道久久精品| 亚洲精品一区二区毛豆| 国产福利一区二区精品秒拍| 国产免费一区二区三区在线能观看| 性爱视频在线播放| 亚洲欧洲在线播放| 精品国产av 无码一区二区三区| 亚洲欧美日韩在线播放| 美女久久久久久久久久| 国产精品资源网| 亚洲精品一二三四五区| 欧美婷婷在线| 日韩欧美视频一区二区| 清纯唯美亚洲经典中文字幕| 91精品久久久久久久久久入口| 1区2区在线| 精品国偷自产在线视频99| 水莓100在线视频| 欧美一级在线免费| 六月丁香激情综合| 性做久久久久久免费观看| 亚洲色图100p| 久久只精品国产| 国产欧美视频一区| 久久99精品视频| 免费无码av片在线观看| 亚洲精品激情| h无码动漫在线观看| 久久亚洲专区| 日本高清不卡一区二区三| 精品国内亚洲2022精品成人| 91日本在线观看| 精品麻豆剧传媒av国产九九九| 国产精品久久久久久久久男 | 菠萝蜜视频在线观看入口| 欧美自拍偷拍| 日韩伦理一区二区三区av在线| 精品资源在线| 国产精品传媒毛片三区| 精品三级在线观看视频| 国产成人一区二区三区免费看| 激情视频亚洲| 成人情趣片在线观看免费| 欧美123区| 国产精品白丝jk喷水视频一区 | 91浏览器在线视频| 人妻激情偷乱频一区二区三区| 激情综合网激情| 中文字幕55页| 国产精品一区在线观看乱码| 日韩高清第一页| 激情综合色综合久久| 日韩av一卡二卡三卡| 国产乱码精品一区二区三区五月婷| 污污网站在线观看视频| 久久电影国产免费久久电影| 日日噜噜夜夜狠狠| 麻豆成人久久精品二区三区小说| 蜜臀av免费观看| 秋霞国产午夜精品免费视频| 色悠悠久久综合网| 久久av老司机精品网站导航| 尤物国产在线观看| 国产精品综合在线视频| 午夜福利三级理论电影| 久久婷婷久久一区二区三区| 爱爱免费小视频| 国产精品无码永久免费888| а天堂中文在线资源| 亚洲欧美另类小说| 日本妇女毛茸茸| 亚洲成人综合在线| 6080午夜伦理| 欧美在线高清视频| 国产精品伦理一区| 日韩一区二区视频在线观看| 色视频在线观看| 国产香蕉97碰碰久久人人| 色网站在线看| 欧美老女人xx| 国产h片在线观看| 国产精品一区二区女厕厕| 日韩成人在线电影| 99视频免费观看蜜桃视频| 美女扒开腿让男人桶爽久久动漫| 欧美午夜精品久久久久久蜜| 欧美freesextv| 欧美日本视频在线观看| 日本成人在线不卡视频| 国产九九九视频| 91色九色蝌蚪| 老司机精品免费视频| 亚洲综合色视频| youjizz在线视频| 91精品国产欧美一区二区| 免费av一级片| 中文字幕v亚洲ⅴv天堂| 日韩理伦片在线| 欧美孕妇性xx| 九九99久久精品在免费线bt| 精品无码久久久久国产| 欧美大黑bbbbbbbbb在线| 久青草视频在线播放| 美国三级日本三级久久99| wwwww在线观看| 欧美极品美女视频| 久草免费新视频| 在线免费观看一区| 无码精品黑人一区二区三区 | 久久av免费看| 久久天天东北熟女毛茸茸| 久久99精品视频| 国产伦精品一区二区三区妓女| 中文字幕一区二区三区在线播放 | 久久在线精品视频| 中文字幕在线中文字幕在线中三区| 国产在线精品自拍| 亚洲理论电影片| 在线日韩av永久免费观看| 欧美亚韩一区| 午夜激情视频网| 国产欧美视频一区二区| 国产性xxxx高清| 欧美一二三四在线| 成人18在线| 青青久久av北条麻妃海外网| 在线精品自拍| 一级日韩一区在线观看| 蜜桃av一区二区在线观看 | 成人在线综合网站| 久久精品一区二区三区四区五区| 色狠狠av一区二区三区| 男人天堂资源在线| 国内精品视频一区| 中文字幕av一区二区三区四区| 一区二区三区av在线| 日本中文在线一区| 国产精品久久久久久成人| 色播五月激情综合网| 香蕉人妻av久久久久天天| 欧美精品成人在线| 色妞ww精品视频7777| 国产91沈先生在线播放| 国产美女在线精品| 国产真实乱在线更新| 欧美另类久久久品| 国产小视频免费在线网址| 国产精品草莓在线免费观看| 久久99国内| 黄色一级二级三级| 国产日本欧洲亚洲| 自拍偷拍第八页| 中文字幕日韩有码| 成人黄色视屏网站| 亚洲精品久久久久久一区二区| 日韩电影免费在线看| 日韩a级片在线观看| 欧美一区二区三区四区在线观看| 黄色在线免费| 亚洲在线观看视频网站| 伊人久久成人| 久久丫精品国产亚洲av不卡| 色综合网色综合| 北岛玲日韩精品一区二区三区| 97色在线观看| 精品freesex老太交| 国产91色在线观看| 亚洲欧美日韩国产成人精品影院| 国产不卡精品视频| 97涩涩爰在线观看亚洲| 国产成人久久| 九色porny自拍| 有坂深雪av一区二区精品| 中文字幕在线观看欧美| 欧美国产精品人人做人人爱| 露出调教综合另类| 91香蕉视频导航| 日韩美女视频一区二区| 亚洲精品免费在线观看视频| 2019中文字幕在线| 精品久久视频| 激情五月婷婷基地| 亚洲大片在线观看| 欧美日韩在线资源| 粉嫩高清一区二区三区精品视频 | 日韩av在线影院| avav成人| 久久精品xxx|