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

重新思考邊緣負載均衡

開發 架構
Netflix的云網關團隊一直致力于幫助系統減少錯誤,獲得更高的可用性,并提高故障恢復能力。因為Netflix每秒有超過一百萬次請求,即使是很低的錯誤率也會影響到會員體驗,所以每一點提升都有幫助。

我們在介紹開源Zuul 2[2]的文章中簡單提到了負載均衡方面的一些改進,本文將更詳細介紹這項工作的原因、方式和結果。

目標

Netflix的云網關團隊一直致力于幫助系統減少錯誤,獲得更高的可用性,并提高故障恢復能力。因為Netflix每秒有超過一百萬次請求,即使是很低的錯誤率也會影響到會員體驗,所以每一點提升都有幫助。

因此,我們向Zuul和其他團隊學習,改進負載均衡實現,以進一步減少由服務器過載引起的錯誤。

背景

Zuul以前用基于輪詢的Ribbon負載均衡器[3],并基于某些過濾機制將連接失敗率高的服務器列入黑名單。

過去幾年里,我們做了一些改進和定制,比如向最近上線的服務器發送較少流量,以避免過載。這些改進已經取得了顯著效果,但對于某些問題比較多的原始集群,還是會看到與負載相關的錯誤率遠高于預期。

如果集群中所有服務器都過載,那選擇哪一臺服務器幾乎沒有什么區別,不過現實中我們經常看到只有某個服務器子集過載的情況。例如:

  • 服務器冷啟動后(在紅黑部署和觸發自動伸縮期間)。
  • 由于大量動態屬性/腳本/數據更新或大型GC事件,服務器暫時變慢/阻塞。
  • 服務器硬件問題。經常會看到某些服務器運行得總是比其他服務器慢,有可能是由于鄰居節點占用太多資源,也可能因為硬件不同。

指導原則

在開始一個項目時,需要記住一些原則,從而幫助指導在設計軟件時需要做出的大大小小的決定,這個項目基于的原則如下。

在現有負載均衡器框架的約束下工作

我們已經將之前定制的負載均衡器集成到了Zuul代碼庫中,從而使得無法與Netflix的其他團隊共享這些定制。因此,我們決定這次基于約束條件并做出額外投資,從一開始就考慮復用,從而能夠直接在其他系統中使用,減少重新發明輪子的代價。

向他人學習

嘗試在他人的想法和實現基礎上構建,例如之前在Netflix其他IPC棧中試用的"二選一(choice-of-2)"和"試用期(probation)"算法。

避免分布式狀態

選擇本地決策,避免跨集群協調狀態的彈性問題、復雜性和滯后。

避免客戶端配置和手動調優

多年來基于Zuul的操作經驗表明,將服務配置的部分置于不屬于同一團隊的客戶服務中會導致問題。

一個問題是,客戶端配置往往與服務端不斷變化的現實不同步,或者在不同團隊擁有的服務之間引入耦合的變更管理。

例如,用于服務X的EC2實例類型升級,導致該集群所需節點減少。因此,現在服務Y中的"每臺主機最大連接數"客戶端配置應該增加,以反映新增加的容量。應該先對客戶端進行更改,還是先對服務端進行更改,還是同時對兩者進行更改?更有可能的是,完全忘了要改配置,從而導致更多問題。

盡可能不要配置靜態閾值,而是采用基于當前流量、性能和環境變化的自適應機制。

當需要靜態閾值時,與其讓服務團隊將閾值配置協調到每個客戶端,不如讓服務在運行時進行通信,以避免跨團隊邊界推動更改的問題。

負載均衡方法

主要的想法是,雖然服務器延遲的最佳數據來源是客戶端視圖,但服務器利用率的最佳數據來源是服務器本身。結合這兩種數據源,可以得到最有效的負載均衡。

我們基于一組互補機制,其中大多數已經被其他人開發和使用過,只是以前可能沒有以這種方式組合。

  • 用于在服務器之間進行選擇的二選一算法(choice-of-2 algorithm) 。
  • 基于服務器利用率的負載均衡器視圖進行主負載均衡。
  • 基于服務器利用率的服務器視圖進行二次均衡。
  • 基于試用期和基于服務器世代的機制,避免新啟動的服務器過載。
  • 隨著時間推移,收集的服務器統計數據衰減為零。

Join-the-Shortest-Queue和服務器報告利用率相結合

我們選擇支持常用的Join-the-shortest-queue(JSQ) 算法,并將服務器報告的利用率作為第二算法,以嘗試結合兩者達到最佳效果。

JSQ的問題

Join-the-shortest-queue對于單個負載均衡器非常有效,但如果跨負載均衡器集群使用,則會出現嚴重問題。負載均衡器會傾向于在同一時間選擇相同的低利用率服務器,從而造成超載,然后轉移到下一個利用率最低的服務器并造成超載,以此類推……

通過結合使用JSQ和二選一算法,可以在很大程度上消除羊群問題,除了負載均衡器沒有完整的服務器使用信息之外,其他方面都很好。

JSQ通常僅從本地負載均衡器計算到服務器的正在使用的連接數量來實現,但是當有10到100個負載均衡器節點時,本地視圖可能會產生誤導。

圖片單個負載平衡器的觀點可能與實際情況大不相同

例如,在上圖中,負載均衡器A有一個到服務器X的請求和一個到服務器Z的請求,但沒有到服務器Y的請求。所以當它收到新請求時,基于本地數據,選擇利用率最小的服務器,會選擇服務器Y,但這不是正確的選擇。服務器Y實際上負載最重,其他兩個負載均衡器目前都有請求發送到服務器Y上,但負載均衡器A沒有辦法知道。

這說明單個負載均衡器的觀點與實際情況完全不同。

在只依賴客戶端視圖時遇到的另一個問題是,對于大型集群(特別是與低流量相結合時),負載均衡器通常只有幾個活躍連接,和集群中的某個子集交互。因此,當它選擇哪個服務器負載最少時,通常只是在若干個它認為負載都是0的服務器之間進行選擇,而并沒有關于所選服務器的利用率的數據,所以只能盲猜。

這個問題的解決方案是與所有其他負載均衡器共享所有活躍連接數狀態……但這樣就需要解決分布式狀態問題。

考慮到獲得的好處要大于付出的成本,因此我們通常只將分布式可變狀態作為最后手段:

  • 分布式狀態增加了部署和金絲雀發布等任務的運維開銷和復雜性。
  • 彈性風險與數據損壞的爆炸半徑相關(1%負載均衡器上數據損壞讓人煩惱,但100%負載均衡器上數據損壞會造成停機)。
  • 在負載均衡器之間實現P2P分布式狀態系統的成本,或者運維一個具有處理大量讀寫流量所需的性能和彈性憑證的單一數據庫的成本。

另一種更簡單的解決方案(也是我們選擇的),是依賴于服務器向每個負載均衡器報告資源使用情況……

服務器報告使用率

服務器主動上報其使用率的好處是可以提供所有使用了該服務器的負載均衡器的完整信息,從而避免JSQ的不完整問題。

對此有兩種實現方式:

  1. 運行狀況檢查端點主動輪詢每個服務器的當前利用率。
  2. 被動跟蹤來自服務器的響應,并標注其當前利用率數據。

我們選擇第二種方式,其實現簡單,可以頻繁更新數據,避免了N個負載均衡器每隔幾秒鐘輪詢M個服務器所帶來的額外開銷。

被動策略的影響是,負載均衡器向一臺服務器發送請求的頻率越高,獲得的該服務器的利用率數據就越新。因此RPS越高,負載均衡的有效性就越高。但反過來,RPS越低,負載均衡的效果就越差。

這對我們來說不是問題,但對于通過特定負載均衡器處理低RPS(同時通過另一個負載均衡器處理高RPS)的服務來說,主動輪詢運行狀況檢查可能更有效。臨界點是負載均衡器向每個服務器發送的RPS低于運行狀況檢查的輪詢頻率。

服務端實現

我們在服務端通過簡單跟蹤活躍請求計數來實現,將其轉換為該服務器配置的最大百分比,并將其作為HTTP響應報頭:

X-Netflix.server.utilization: <current-utilization>[, target=<target-utilization>]

服務器可以指定可選的目標利用率,從而標識預期在正常條件下運行的利用率百分比,負載均衡器基于這一數據進行粗粒度過濾,后面會詳細介紹。

我們嘗試使用活躍計數以外的指標,例如操作系統報告的cpu利用率和平均負載,但發現它們會引起振蕩,原因似乎是因為它們是基于滾動平均值計算的,因此有一定的延遲。所以我們決定現在只用相對簡單的實現,即只計算活躍請求。

用二選一算法代替輪詢

由于我們希望能夠通過比較服務器的統計數據來選擇服務器,因此不得不拋棄現有的簡單輪詢實現。

我們在Ribbon算法中嘗試的一個替代方案是JSQ與ServerListSubsetFilter相結合,以減少分布式JSQ的羊群問題。這樣可以得到合理的結果,但是結果在目標服務器之間的請求分布仍然過于分散。

因此,我們參考了Netflix另一個團隊的早期經驗,并實現了"二選一(Choice-of-2)"算法。這樣做的優點是實現簡單,使負載均衡器的cpu成本較低,并能提供良好的請求分布。

根據綜合因素進行選擇

為了在服務器之間進行選擇,我們比較了3個不同的因素:

  1. 客戶端運行狀況: 該服務器連接相關錯誤的滾動百分比。
  2. 服務器利用率: 該服務器的最新利用率數據。
  3. 客戶端利用率: 從當前負載均衡器發送到該服務器的活躍請求數。

這3個因素被用來為每個服務器計算分數,然后比較總分數選擇獲勝者。

像這樣使用多個因素確實會使實現更加復雜,但可以避免僅依賴一個因素可能出現的邊際問題。

例如,如果一臺服務器開始出現故障并拒絕所有請求,那么上報的利用率將會低得多(因為拒絕請求比接受請求開銷更小),如果這是唯一考慮的因素,那么所有負載均衡器將開始向那臺壞服務器發送更多請求。客戶端運行狀況因素緩解了這種情況。

過濾

當隨機選擇2臺服務器進行比較時,會過濾掉任何超過安全利用率配置和運行狀況閾值的服務器。

每個請求都會進行這種過濾,以避免定期過濾會出現的過時問題。為了避免在負載均衡器上造成較高的cpu負載,我們盡力而為(best-effort) 嘗試N次來隨機選擇一個可用服務器,然后在必要時回退到未篩選的服務器。

當服務器池中有很大一部分存在長期問題時,這樣的篩選非常有用。在這種情況下,隨機選擇2個服務器通常會出現選擇了2個壞服務器進行比較的情況。

但缺點是這依賴于靜態配置閾值,而這是我們試圖避免的。測試結果讓我們相信這點依賴是值得的,即使只依賴一些通用(非特定于服務的)閾值。

試用期

對于任何沒有發送響應給負載均衡器的服務器,一次只允許一個活躍請求,隨后會過濾掉這些試用服務器,直到收到來自它們的響應。

這有助于避免新啟動的服務器還沒有機會顯示使用率數據之前就因大量請求而超載。

基于服務器世代的預熱

我們基于服務器世代在服務器啟動的前90秒內逐步增加流量。

這是另一種有用的機制,就像試用期一樣,可以在微妙的發布后增加一些關于服務器過載的警告。

統計衰變

為確保服務器不會被永久列入黑名單,我們將衰減率應用到所有用于負載均衡的統計數據上(目前是30秒的線性衰減)。例如,如果一個服務器的錯誤率上升到80%,停止向它發送流量,使用的數據將在30秒內衰減為零,比方說15秒后是會是40%)。

運維影響

差距更大的請求分布

不用輪詢進行負載均衡的負面影響是,以前服務器之間的請求分布非常均衡,現在服務器之間的負載差距更大。

"二選一"算法在很大程度上能緩解這種情況(與跨集群中所有服務器或服務器子集的JSQ相比),但不可能完全避免。

因此,在運維方面確實需要考慮這一點,特別是在金絲雀分析中,我們通常比較請求計數、錯誤率、cpu等的絕對值。

越慢的服務器接收的流量越少

顯然這是預期效果,但對于習慣于輪詢的團隊來說,流量是平等分配的,這對運維方面會產生連鎖反應。

由于跨原始服務器的流量分布現在依賴于它們的利用率,如果一些服務器正在運行效率更高或更低的不同構建,那么將接收到更多或更少的流量。所以:

  • 當集群采用紅黑部署時,如果新的服務器組性能下降,那么該組的流量比例將小于50%。
  • 同樣的效果可以在金絲雀集群中看到,基線組可能會接收到與金絲雀組不同的流量。所以當我們著眼于指標時,最好著眼于RPS和CPU的組合(例如RPS在金絲雀中可能更低,而CPU相同)。
  • 更低效的異常值檢測。我們通常會自動監控集群中的異常服務器(通常是由于硬件問題導致啟動速度變慢的虛擬機)并終止它們,當由于負載均衡而接收較少流量時,這種檢測就更加困難。
滾動動態數據更新

從輪詢遷移到新的負載均衡器取得了很好的效果,可以很好的配合動態數據和屬性的分階段更新。

最佳實踐是每次在一個區域(數據中心)部署數據更新,以限制意外問題的爆發半徑。

即使數據更新本身沒有引起任何問題,服務器應用更新的行為也會導致短暫的負載高峰(通常與GC相關)。如果此峰值同時出現在集群中所有服務器上,則可能導致負載下降以及向上游傳播大量錯誤。在這種情況下,因為所有服務器的負載都很高,負載均衡器幾乎無法提供幫助。

然而,如果考慮與自適應負載均衡器結合使用,一個解決方案是在集群服務器之間進行滾動數據更新。如果只有一小部分服務器同時應用更新,那么只要還有足夠服務器能夠承載流量,負載均衡器就可以短暫減少到這些服務器的流量。

合成負載測試結果

在開發、測試和調優負載均衡器時,我們廣泛使用了合成負載測試場景,這在使用真實集群和網絡驗證有效性時非常有用,可以作為單元測試之后的可重復步驟,但還沒有使用真實用戶流量。

測試的更多細節在后面的附錄中列出,現總結要點如下:

  • 與輪詢實現相比,啟用了所有功能的新負載均衡器在負載下降和連接錯誤方面降低了幾個數量級。
  • 平均和長尾延遲有了實質性改善(與輪詢實現相比減少了3倍)。
  • 服務器本身由于添加了特性,顯著增加了價值,減少了一個數量級的錯誤以及大部分延遲。

圖片圖片

結果比較

對實際生產流量的影響

我們發現,只要服務器能夠處理,新負載均衡器就能非常有效的將盡可能多的流量分配到每個服務器。這對于在間歇和持續降級的服務器之間進行路由具有很好的效果,無需任何人工干預,從而避免工程師在半夜被叫醒處理重大生產問題。

很難說明在正常運行時的影響,但在生產事故中甚至在某些服務的正常穩態運行中,可以看到對應的影響。

事故發生時

最近的事故涉及到服務中的錯誤,該錯誤導致越來越多的服務器線程隨著時間的推移而阻塞。從服務器啟動的那一刻起,每小時都會阻塞幾個線程,直到最終達到最大負載并造成負載下降。

在下面的服務器RPS圖表中,可以看到在凌晨3點之前,服務器負載分布差距較大,這是由于負載均衡器向阻塞線程數量較多的服務器發送較少流量的緣故。然后,在凌晨3點25分之后,自動縮放啟動更多服務器,由于這些服務器還沒有任何線程阻塞,每個服務器收到的RPS大約是現有服務器的兩倍,可以成功處理更多流量。

圖片圖片

每服務器RPS

現在,如果我們看一下同一時間范圍內每臺服務器的錯誤率圖表,可以看到,在整個事故過程中,所有服務器的錯誤分布是相當均勻的,盡管某些服務器的容量比其他服務器小得多。這表明負載均衡器在有效工作,而由于集群整體可用容量太小,因此所有服務器都被推到稍稍超過其有效容量的位置。

然后,當自動縮放啟動新服務器時,新服務器處理了盡可能多的流量,以至于出現了與集群其他部分相同的錯誤。

圖片圖片

每服務器每秒錯誤

因此,綜上所述,負載均衡器在向服務器分配流量方面非常有效,但在這種情況下,沒有啟動足夠的新服務器,從而導致沒法將整體錯誤水平降至零。

穩態

我們還看到,在某些服務中,由于GC事件而出現幾秒鐘的負載下降,因此穩態噪聲顯著降低。從這里可以看出,啟用新的負載均衡器后,錯誤大幅減少:

圖片圖片

啟用新負載均衡器前后數周內與負載相關的錯誤率

告警中的差距

一個意料之外的影響是突出了我們自動告警中的一些差距。一些基于服務錯誤率的現有告警,以前會在漸進式問題只影響到集群的一小部分時發出告警,現在因為錯誤率一直很低,告警會晚得多,或者根本不發出告警。這意味著,有時沒法將影響集群的大問題通知給團隊。解決方案是增加對利用率指標的偏差而不僅僅是錯誤指標的額外告警來彌補這些差距。

結論

本文并不是為Zuul做宣傳(盡管它是一個偉大的系統),只是為代理/服務網格/負載均衡社區分享和增加了一個有趣的方法。Zuul是測試、實施和改進這些類型負載均衡方案的偉大系統,以Netflix的需求和規模來運行,使我們有能力證明和改進這些方法。

有許多不同方法可以改善負載均衡,而這個方法對我們來說效果很好,大大減少了與負載有關的錯誤率,并極大改善了真實流量的負載均衡。

然而,對于任何軟件系統來說,都應該根據自己組織的限制和目標來做決定,并盡量避免追求完美。

附錄--合成負載測試的結果

測試場景

這個負載測試場景重現了這樣一種情況: 小型原始集群正在進行紅黑部署,而新部署的集群存在冷啟動問題或某種性能退化(通過人為在新部署的服務器上為每個請求注入額外延遲和cpu負載來模擬)。

該測試將4000 RPS發送到一個大型Zuul集群(200個節點),該集群反過來代理到一個小型Origin集群(20個實例),幾分鐘后,啟用第二個緩慢的Origin集群(另外20個實例)。

啟用所有功能

以下是啟用了所有功能的新負載均衡器的指標圖表。

圖片圖片

啟用新負載均衡器所有功能進行負載測試

作為參考,看看流量是如何在較快和較慢的服務器組之間分配的,可以看到,負載均衡器把發送到較慢組的比例減少到15%左右(預期50%)。

圖片圖片

正常集群和慢速集群之間的流量分布

禁用服務器利用率

還是新負載均衡器,但禁用了服務器利用率功能,因此只有客戶端數據被用于均衡。

圖片圖片

使用新負載均衡器進行負載測試,但禁用了服務器利用率特性

原始實現

這是最初的輪詢負載均衡器與服務器黑名單功能。

圖片圖片

使用原始負載均衡器進行負載測試

責任編輯:武曉燕 來源: DeepNoMind
相關推薦

2010-09-28 16:25:14

DHCP Server

2010-05-10 14:00:21

流量負載均衡

2020-05-03 12:51:32

邊緣數據存儲數據

2010-04-20 21:12:34

負載均衡解決方案

2017-07-03 08:08:25

負載均衡分類

2018-01-05 14:23:36

計算機負載均衡存儲

2018-01-17 09:15:52

負載均衡算法

2010-05-05 19:10:23

Nginx負載均衡器

2020-09-17 09:37:36

云計算公共云

2019-03-18 10:44:41

負載均衡DNSUDP

2018-11-07 10:12:37

2011-12-02 22:51:46

Nginx負載均衡

2010-04-22 10:46:40

Lvs負載均衡故障負載均衡器

2010-05-06 15:00:58

集群負載均衡

2010-05-10 14:15:54

DNS負載均衡

2022-05-06 09:21:57

工作負載SPDK線程

2010-04-20 12:49:27

負載均衡策略

2010-04-21 14:34:33

websphere負載

2010-05-04 16:10:51

負載均衡算法

2013-04-22 11:29:14

Nginx
點贊
收藏

51CTO技術棧公眾號

成人免费av电影| 亚洲成人777777| 欧美三级三级| 91麻豆精品国产自产在线| 国产日产欧美一区二区| 日本xxxxxwwwww| 蜜桃av综合| 久久精品成人欧美大片| 午夜男人的天堂| 天堂久久午夜av| 亚洲激情av在线| 久热这里只精品99re8久| 亚洲最大成人av| 亚洲国产日韩欧美一区二区三区| 亚洲区免费影片| 手机看片国产精品| 亚洲天堂一区二区| 亚洲精品五月天| 日本婷婷久久久久久久久一区二区| 国产精品视频一区二区三区,| 亚洲欧洲一区| 色妞久久福利网| 好吊日免费视频| 日韩三级不卡| 欧美日韩一区二区三区四区五区| 黄色成人在线看| 日本美女在线中文版| 99久久精品国产导航| 成人福利免费观看| 午夜精品一区二| 亚洲精品在线二区| 欧美人与物videos| 99久久久无码国产精品不卡| 欧美激情极品| 精品国产123| 在线播放av中文字幕| 欧美韩国亚洲| 欧美性高跟鞋xxxxhd| 热久久最新地址| 日本中文字幕在线播放| 国产清纯在线一区二区www| 精品亚洲第一| 亚洲欧美激情国产综合久久久| 美女视频一区二区三区| 国产99视频精品免视看7| 奇米影视第四色777| 中文字幕一区二区三三| xvideos亚洲人网站| 337人体粉嫩噜噜噜| 神马电影久久| 亚洲午夜激情免费视频| 加勒比综合在线| 美日韩中文字幕| 亚洲精品少妇网址| 欧洲一级黄色片| 色先锋久久影院av| 日韩成人在线播放| 精品中文字幕在线播放| 久久精品论坛| 亚洲精品动漫久久久久| 99久久免费看精品国产一区| 第一区第二区在线| 亚洲成人免费网站| 在线黄色免费网站| 欧美丝袜美腿| 亚洲欧美中文日韩在线| 一级黄色片大全| 成人91在线| 久久精品男人天堂| 超碰手机在线观看| 国产精品大片| 17婷婷久久www| 老熟妇仑乱一区二区av| 视频一区免费在线观看| 国产精品久久久久久久久久三级| 中文字幕乱码中文字幕| 精品夜夜嗨av一区二区三区| 99一区二区| 色哟哟中文字幕| 久久久国产午夜精品| 无遮挡亚洲一区| 国产精品久久麻豆| 亚洲国产精品自拍| 中文字幕乱码人妻综合二区三区| 美女福利一区二区| 欧美日韩aaa| 男人的天堂免费| 日韩av字幕| 在线观看91久久久久久| 2018天天弄| 性久久久久久| 国产欧美亚洲视频| 粉嫩小泬无遮挡久久久久久| 久久亚洲综合av| 中文字幕一区二区三区四区五区| 大香伊人中文字幕精品| 色菇凉天天综合网| 日本美女久久久| 日韩成人一级| 欧美成人在线网站| 欧产日产国产69| 国产成人午夜片在线观看高清观看| 黑人另类av| 国产一区二区三区不卡在线| 一区二区三区在线视频播放| 国产免费观看高清视频| 日本一区二区中文字幕| 亚洲国产欧美在线成人app| 中文字幕第二区| 国产日韩欧美高清免费| 91香蕉亚洲精品| 久久久资源网| 亚洲大片免费看| 一女二男3p波多野结衣| 欧美人与动xxxxz0oz| 久久久91精品国产一区不卡| 欧美日韩一级黄色片| 国产成人啪午夜精品网站男同| 日本精品一区二区三区不卡无字幕| 日韩精品卡一| 精品视频一区三区九区| 大地资源二中文在线影视观看| 中文字幕日韩一区二区不卡| 国产精品第一区| 天天在线女人的天堂视频| 一区二区在线观看免费 | 久久一日本道色综合久久| 91青草视频久久| av在线免费观看网站| 精品久久久视频| 男人的天堂影院| 欧美激情在线| 91久久久国产精品| 91精品专区| 欧洲一区在线观看| 黄色a一级视频| 99综合视频| 国产成人精品自拍| 啪啪免费视频一区| 日韩一区二区免费在线电影| 顶级黑人搡bbw搡bbbb搡| 首页欧美精品中文字幕| 欧美日韩在线观看一区二区三区 | 亚洲亚洲精品在线观看| 亚洲高清视频免费| 亚洲精品成人| 亚洲自拍另类欧美丝袜| 国产不卡在线| 91精品国产高清一区二区三区 | 国产精品对白一区二区三区| a视频在线观看| 日韩欧美激情四射| 久久免费公开视频| 成人中文字幕合集| 国产成a人亚洲精v品在线观看| 中文无码日韩欧| 久久人人爽人人| 亚洲色偷精品一区二区三区| 欧美日韩激情小视频| 少妇户外露出[11p]| 性8sex亚洲区入口| 性欧美videosex高清少妇| 成人精品国产亚洲| 精品国产拍在线观看| 国产乱人乱偷精品视频| 一区二区三区精密机械公司| 丰满少妇xbxb毛片日本| 亚洲影院免费| 日韩精品一区二区三区色偷偷| www.精品国产| 美女福利精品视频| 色哟哟中文字幕| 91国偷自产一区二区使用方法| 黄色av免费播放| 国产资源在线一区| www.av91| 中国av一区| 成人久久久久久| 97久久人人超碰caoprom| 亚洲剧情一区二区| 亚洲天堂中文字幕在线| 亚洲激情av在线| 免费看污黄网站在线观看| 免费看日韩精品| 精品国偷自产一区二区三区| 亚洲精品亚洲人成在线观看| 国产精品一区专区欧美日韩| 性直播体位视频在线观看| 亚洲免费小视频| 91在线你懂的| 精品国产91久久久久久老师| 91狠狠综合久久久久久| 成人小视频免费观看| 成年人在线看片| 99欧美视频| 久久精品二区| 精品入口麻豆88视频| 91精品国产91久久久久久不卡| 137大胆人体在线观看| 欧美成人精精品一区二区频| 无码人妻久久一区二区三区 | 一区二区亚洲欧洲国产日韩| 精品国产九九九| 91成人在线观看喷潮| 九九视频免费看| 欧美国产日本视频| 人妻av一区二区| 国内精品视频一区二区三区八戒| heyzo亚洲| 综合国产在线| 色噜噜色狠狠狠狠狠综合色一| 亚洲国产欧美在线观看| 国产精品美女999| 理论片午夜视频在线观看| 久久精品91久久香蕉加勒比| 国产精品麻豆一区二区三区| 精品电影一区二区三区| 国产精品综合在线| 欧美系列日韩一区| 国产农村妇女aaaaa视频| 亚洲自拍偷拍图区| 三上悠亚在线观看视频| 国产日韩欧美高清| 538国产视频| 国产iv一区二区三区| 中文字幕资源在线观看| 日本网站在线观看一区二区三区 | 唐朝av高清盛宴| 欧美高清在线精品一区| 国产色视频一区二区三区qq号| 大白屁股一区二区视频| 肉色超薄丝袜脚交| 免播放器亚洲一区| 国产嫩草在线观看| 久久欧美肥婆一二区| 日韩精品一区二区三区久久| av成人天堂| 黄色一级在线视频| 日韩一级不卡| 男人插女人视频在线观看| 欧美区一区二| 国产女主播自拍| 亚洲无线一线二线三线区别av| 国风产精品一区二区| 久久精品影视| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 2024最新电影在线免费观看| 久久精品99久久久久久久久| 久久bbxx| 欧美日韩aaaa| 免费在线观看的电影网站| 欧美成人一二三| 欧美性video| 国产综合在线看| 色综合亚洲图丝熟| 欧美重口另类videos人妖| 丁香六月综合| 国产精品久久久久久亚洲影视 | 国产色综合网| 亚洲午夜无码av毛片久久| 国产精品久久777777毛茸茸 | 日本少妇性生活| 天天综合网 天天综合色| 国产精品老女人| 色激情天天射综合网| 中文字幕在线日亚洲9| 欧美日本国产视频| 精品人妻无码一区二区 | 国产毛片在线| 日韩有码在线视频| 丁香花在线观看完整版电影| 91精品国产高清| 2019年精品视频自拍| 国产在线拍揄自揄视频不卡99| 欧美经典一区| 欧美国产综合视频| 日韩伦理视频| 青青在线免费观看| 久久伊人亚洲| 日韩大尺度视频| 久久伊99综合婷婷久久伊| 少妇高潮惨叫久久久久| 亚洲一区二区三区四区不卡| 国产亚洲欧美在线精品| 91精品国产综合久久久久久久久久 | 精品国产亚洲在线| 青青青草原在线| 久久香蕉国产线看观看av| 91美女主播在线视频| 国产精品久久久久久久久久小说| 深夜福利一区| 日韩欧美视频一区二区| 欧美精品国产| 日本久久精品一区二区| 成人午夜碰碰视频| 成人激情五月天| 亚洲国产另类av| 亚洲一级片免费看| 亚洲精品av在线播放| 国产在线高清视频| 国产97在线亚洲| 久9re热视频这里只有精品| 亚洲成人一区二区三区| 亚洲麻豆av| 91亚洲一区二区| 国产日韩欧美一区二区三区乱码| 黄色一级片在线| 欧美视频一区二区在线观看| 日韩在线观看视频一区| 久久久久999| 日韩av超清在线观看| 国产91亚洲精品一区二区三区| 青青草97国产精品麻豆| 亚洲中文字幕无码专区| 国产成人精品免费一区二区| 国产三级短视频| 色哦色哦哦色天天综合| 天堂中文在线观看视频| 萌白酱国产一区二区| 欧美另类激情| 日韩精品欧美一区二区三区| 亚洲欧美bt| 国产人妻黑人一区二区三区| 亚洲欧美另类小说| 亚洲一区二区三区网站| 亚洲人成在线一二| 中国色在线日|韩| 国产精品久久久久久免费观看| 亚洲经典一区| 中文字幕一区久久| 国产精品美女一区二区在线观看| 天天射天天干天天| 亚洲精品自拍视频| 国产白浆在线免费观看| 国产区一区二区| 亚洲精品综合| 国产精品嫩草av| 午夜精品福利一区二区蜜股av| 人妻精品无码一区二区| 欧美丰满少妇xxxx| 日韩在线精品强乱中文字幕| 视色,视色影院,视色影库,视色网| 韩国一区二区在线观看| 亚洲精品久久久久久国| 在线电影国产精品| 久久77777| 91九色偷拍| 国产在线不卡| 香蕉视频污视频| 狠狠色香婷婷久久亚洲精品| 手机福利在线| 国产高清在线不卡| 日韩aaaa| 99精品视频免费版的特色功能| 亚洲精品久久嫩草网站秘色| 亚洲av永久纯肉无码精品动漫| 久久久久久国产精品美女| 久久97久久97精品免视看秋霞| 亚洲熟妇av日韩熟妇在线| 97精品国产露脸对白| 无码人妻丰满熟妇精品| 最近中文字幕2019免费| 精品国产三区在线| 黄色片网址在线观看| 久久久久9999亚洲精品| 伊人影院中文字幕| 久久天天躁日日躁| 国产伦精品一区二区三区在线播放 | 欧美一区二区三区视频在线观看| 中文国产字幕在线观看| 国产伦精品一区二区三区视频免费| 国产精品腿扒开做爽爽爽挤奶网站| 日韩精品无码一区二区三区久久久 | 久久久久999| 欧美成人午夜77777| 粗暴91大变态调教| 亚洲欧洲日韩av| 人妻91麻豆一区二区三区| 国产成人啪精品视频免费网| 99久久影视| 免费成人蒂法网站| 欧美在线|欧美| 日本理论片午伦夜理片在线观看| 久久久久久久久久久久久9999| 另类人妖一区二区av| 欧美精品一区二区蜜桃| 亚洲人成网站色ww在线| 精品国产一区二区三区2021| 欧美视频第一区| 亚洲视频一区二区在线观看| 无码精品视频一区二区三区| 国产欧美亚洲视频| 一区二区三区福利| 久草福利资源在线| 日韩精品视频免费在线观看| 伊人久久大香线蕉综合影院首页| 97视频久久久| 亚洲色图视频网| 免费在线视频你懂得| 成人精品一二区|