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

大量新老項目接入,服務限流如何排除差異快速落地?

開發 項目管理
我們雖然定制化了一些插件,以及一些Kong的部署過程,但是在實際開發時也考慮到了Kong原生態的兼容性,也就是項目組依然可以使用Kong原生態提供的豐富功能。

一、背景

1、場景

某一天有一個項目服務突然出現異常,我們定位到的原因是有大量的突發流量進來,那么我們會先采取被動的臨時手段去處理當前故障,接著上線Nginx的限流功能進行快速止損,防止二次故障。但是Nginx的限流功能是比較粗糙的,所以我們有一個更好的長期措施,即項目接入限流功能,并實現按維度進行精細化的限流,化被動解決為主動防御、主動治理。對于這一個項目來說,做到這一步應該是比較好的效果。

圖片

那么我們能否更進一步?更進一步我們需要考慮經驗積累、通用性、整體效益這三個方面。

  • 經驗積累:有什么經驗總結可以被其他項目借鑒?
  • 通用性:解決方案其他項目可以直接使用嗎?
  • 整體效益:可以降低團隊的整體成本嗎?

2、問題與目標

我們的方案設計需要考慮不同項目之間的差異性,因為我們需要接入的項目可能有十幾個甚至更多,不同項目的差異性會體現在開發語言、請求類型、生命周期、部署環境、鏈路節點等方面。

圖片

其中我們特別需要注意的是生命周期,有的項目可能是十幾年前就存在的老項目,有的可能是最近兩三年的較新的項目,還有的可能是以后會建立的全新項目,我們的方案需要能夠同時匹配這三種項目,以及需要抹平其他的幾種差異。

此外,我們的方案也有一些其他的期望目標,比如低成本、高效率、高質量,以及專業性、穩定性、可擴展性、高性能。

  • 低成本:接入所需的成本是比較低的,包括開發、運維、硬件等成本。
  • 高效率:能夠快速完成接入落地工作。
  • 高質量:提供了整套限流的解決方案,接入方使用前后都能夠得到有效的技術支持和指引。

其他幾點則比較好理解,那么擺在我們眼前的問題就是項目的數量多,差異性大,期望目標和要求也多,那么我們應該如何設計這個方案?

3、協作方式

在介紹具體的技術方案之前,我簡單講述一下我們的協作方式。

在公司內部推廣一個技術落地,我們通常會采用單項目的方式進行,即單獨某個項目了解需求、設計、開發,在本項目落地之后再逐步推廣到其他項目,這種方式雖然沒有問題,但是存在幾個缺點:

  • 需求的全面性:不能充分兼顧到其他項目的需求,方案設計上可能會有缺漏,導致后期推廣困難,因為只考慮到了本項目的需求和場景。
  • 成本負擔:成本由單一項目承擔,可能會影響到項目組原本的工作,對項目本身也會有比較大的影響。

基于以上情況,我們設計了一個專業組機制,希望能夠讓專業的人做專業的事,工作流程如下:

首先從多個有需求的項目組里招募感興趣或者有經驗的成員加入專業組,比如圖示里從項目組1、項目組2和項目組3里各抽出一個人成立專業組,然后針對這幾個項目設計總體方案,以滿足他們的需求,在項目落地之后,再逐步推廣到其他項目。

圖片

與單項目推進相比,專業組機制的優點如下:

  • 充分兼顧到了典型場景的需求。因為我們會從原先的三個項目組里去對接需求,那么這三個項目組的場景是比較明確的。
  • 成本由多個項目分攤。每個項目只需要出1~2個人即可,對項目組原先的工作影響程度較低。
  • 專業組的進出機制可以充分發揮成員的技術積累優勢和主觀能動性。能夠進專業組的成員一般是在專業問題上比較有技術積累的,或者是對該問題很感興趣,會主動研究問題。

在解決現有功能上,專業組在整個過程中發揮了很大的作用。

二、技術方案

下面我們介紹具體的技術方案。

1、限流實現層

首先的問題是我們的限流應該做在哪一層?一般來說我們可以在應用層限流,也就是在API服務節點再增加一個web中間件,在請求進入API服務時判斷請求是否被限流,這是比較常見的方式,對于單個項目而言成本也是最低的。

圖片

除了應用層實現限流之外,還有接入層實現限流的做法。在原先的LB到API節點之間,我們可以增加一個網關層,將限流功能做在網關層。

圖片

兩種方法相比較,應用層限流有以下缺陷:

  • 異常流量依然落在API服務。如果有大量的突發流量進來,還是會把壓力落在API服務,那么效果相對而言是比較差的。
  • 邏輯耦合,無法獨立變更限流功能。
  • 職責不明確,增加服務復雜性。
  • 多項目情況下難以復用,可行性低,無法達到我們的需求。比如我們前面提到的差異性,不同項目的開發語言、部署方式等不一樣,如果我們在應用層實現限流,就需要針對每一個項目單獨適配,那么成本是比較高的。

基于以上情況我們選擇了接入層實現限流。在接入層實現,我們就需要一個網關作為統一的記錄層。

2、Kong網關

按照官方的說法,Kong網關是一個輕量、快速、靈活的云原生API網關,Kong是基于OpenResty和Nginx實現的。我們在解決這一個問題的情況下,為什么要選擇Kong?也是基于我們常見的高性能、高可用、靈活、易擴展等方面。其中我們特別在意以下兩點:

  • 一是輕量靈活,在最輕量部署的情況下,僅需一個主進程和一個yaml配置文件。
  • 二是易擴展,Kong的插件機制可以實現在請求生命周期的各階段執行自定義邏輯,也就是我們可以做很多自己需要的工作。

3、Kong插件

Kong的插件機制可以支持多種語言,如Golang、Lua、Python、JS。我們選擇了Lua和Golang作為我們的開發插件。兩種之間的區別是Lua插件在Kong進程中是直接執行的,也就是它和Kong是同一個進程,而每一個Go插件是一個單獨的插件,和Kong主進程之間的通信需要通過IPC進行。

圖片

Lua和Golang相比較,在團隊技術棧匹配度、生態、工程化難度、開發維護成本上,Golang都占有比較明顯的優勢,而在性能方面Lua會更高。因為Golang在插件每次執行的時候都需要進行IPC通信,在IPC通信次數較高的情況下,性能會受到較大影響。但是我們在實踐過程中發現,在現有場景下,我們的IPC通信次數相對較少,對性能的影響也比較低。所以總體上我們是優先使用Golang開發插件,如果Golang實現不了再退而求其次用Lua進行開發。

4、插件模塊化

前面我們通過把Kong作為接入層解決了不同項目在環境上的差異性,接著我們可以使用插件機制解決不同項目在需求上的差異性。

我們可以將一個項目的限流需求分為業務需求模塊和限流功能模塊兩個部分。

圖片

  • 業務需求模塊是比較頻繁迭代的,這一方面的需求包括解析用戶名等,根據路徑、IP、請求方法等不同,每個項目也會有不同的需求。
  • 限流功能模塊相對而言比較穩定,比如我們需要進行短連接的頻率限流、并發數限流等。

在具體的限流算法的實現之上,還有一個策略的應用,即對于同一個限流方法,比如令牌桶,我們可能會設計不同的策略進行應用。

基于以上模塊劃分,我們在實際開發時分了三層,從下到上依次是限流算法層、限流插件層、業務插件層。

圖片

1)限流算法層

限流算法層主要是SDK的形式,因為我們的限流場景比較多,算法也不同,所以我們對于每一個不同的場景都會單獨開發SDK,比如短連接限制頻率的場景可能會有令牌桶或時間窗口等,短連接并發數、長連接也有具體的實現。

需要特別注意的是客戶端節流的場景,我們在實際應用時發現,該場景除了接入Kong服務端性能之外,客戶端請求時也需要進行限流。客戶端限流指的是客戶端主動發起請求調用第三方頻率時,我們也希望能夠控制頻率,保護第三方服務。

限流算法的SDK是以代碼嵌入的形式嵌入到限流插件層。

2)限流插件層

限流插件層會調用SDK,針對不同的場景需要設置不同的策略,比如我們的令牌桶限制短連接頻率,一個插件可能會實現令牌預知功能,而另一個插件可能會做限流額度、動態調控等,也就是已經往業務層走了一步。

3)業務插件層

業務插件層會根據項目組不同的需求制定單獨的業務場景,比如不同的項目組可能會有不同的限流維度進行解析,需要項目組自己適配等。

如配置監聽,以及業務組的其他業務定制功能,也可以做在這一層。

我們的分層主要分為三層,實際Kong執行會有兩個插件,分別是業務插件和限流插件,這里的插件指的是Kong本身自帶的執行插件。

圖片

接下來以長輪詢場景為例,講述需要限制接入的客戶端連接數場景。

首先請求進入Kong網關時,在業務插件我們會解析它的限流維度,比如user、path、method、ip,然后把這些維度生成一個字符串限流KEY,它可能是一個比較長的字符串。

接著它會匹配特定的限流策略,如果匹配不到則會進入兜底策略,把這些信息生成限流的協議數據。業務插件的配置會記錄請求的維度,比如path、method等,匹配到了限流策略之后,就會去生成它的限流協議,限流協議里會設置請求最大并發數、請求超時時間等。接著業務插件會把這些信息組裝成一個協議,協議的格式如圖右下角。

然后把這些數據通過Kong的Context機制傳遞到限流插件,限流插件則會解析該協議數據,然后執行限流邏輯判斷,來判斷這個請求應該被限流還是透傳到上游服務。

5、分工

項目組的需求,如果已有的插件可滿足,則直接使用;如果不滿足,可定制自己的業務插件。定制插件時項目組只需要關注項目需要的業務邏輯即可,相關的生態已由專業組提供,專業組負責所有限流插件、部分通用業務插件的開發,網關、插件公用功能開發,搭建安全性、穩定性保障,以及不同場景下的限流算法的設計實現等工作。插件開發完成后提交到插件庫,后續其他項目組若有相同的項目,也可以直接使用。

6、分發與使用

接下來我們簡單了解一下插件的分發與使用機制。

圖片

首先插件開發完成之后,我們會在GitLab上給它打一個tag,然后觸發一個CI流程。CI流程做的工作主要是編譯、寫入參數信息、壓縮打包,把插件打包成一個tag壓縮文件,將其上傳到文件服務,再發布到git release界面,那么項目組使用時就可以在release界面看到我們可以使用的插件及其功能。

而項目組在具體使用的時候,需要Fork部署倉庫,然后設置需要使用的多個插件及版本。接著再去觸發CI流程,我們會把插件重新下載回來,并且進行解析、解包等工作,然后把這些插件和它們的信息寫入到Kong里,將其構建、推送成為一個完整的鏡像,有了鏡像之后,我們就可以在部署平臺上進行部署,那么項目組就完成了Kong和插件的使用。

7、接入方式

接下來簡單介紹項目組實際的接入方式。前面我們提到項目組的差異比較多,因此我們分了5種情況:

1)如果是一個全新的項目,則直接接入。

2)現存項目,但是沒有網關,那么主要考慮業務場景,整體評估之后再進行接入。

3)現存項目,且已有Kong網關,這種情況下直接安裝和使用我們的限流插件即可。因為我們開發的插件也是Kong的標準插件,項目組使用限流插件時只需要對接其限流協議。

4)現存項目,且已有其他網關,那么就不能使用Kong網關了,直接對接限流算法的SDK即可。

5)客戶端限流的情況下不需要Kong網關,也是直接對接客戶端限流的SDK即可。

8、整體架構

該方案的整體結構是比較簡單的,便于適配不同的項目。

圖片

總體而言就是在LB和API節點之間加了一個Kong網關,網關方面首先我們會插入一個tracing插件,這個插件內嵌了Open-Tracing的實現,接著項目組根據自身需求選擇業務插件和限流插件。

業務插件有一個功能是動態監聽限流配置,需要外部的配置中心實現。動態監聽主要是考慮到當有異常流量進來時,我們可能需要動態調整額度,比如場景可能是原先給該項目定的額度已經不能滿足其需求了,該項目最近的用戶量猛增,那么在這種情況下,我們不能限制它的流量,因此需要將額度調大,避免對業務造成不好的影響。

限流插件根據不同限流算法的實現,我們也有不同的依賴,比如我們在大部分情況下都會做分布式限流,我們選擇通過Redis加一個Lua腳本實現分布式限流,那么這種情況下依賴還需要增加一個Redis。也有少部分情況下它可能是作為一個本地限流,需要根據項目組的具體實現。

三、實施方案

實施方案指的是一個項目組從0接觸到整個方案完成上線的過程,前期包括需求、評估和開發這幾個步驟。

圖片

1、需求

在需求階段,項目組根據我們提供的模板提issue,里面會包含以下內容:

  • 限流場景、類型
  • 限流維度、策略
  • 項目組需要特化的業務需求
  • 現有插件能否滿足項目組的需求

2、評估

接著進行整體的評估工作,評估的方面包括:

  • 開發、維護、硬件等成本
  • 部署架構
  • 性能、鏈路的影響

3、開發(若需要)

如果我們現有的插件無法滿足項目組的需要,那么就需要進行開發工作。對于開發工作,我們有一個比較詳細的指南,因此上手開發的成本比較低。項目組需要了解以下幾個方面:

  • 本地環境部署:我們提供了一個docker-compose環境可以一鍵拉起本地的開發環境。
  • 相關知識快速了解:包括Kong的一些概念等。
  • 完善的開發文檔:包括具體插件如何寫之類的,簡單來說就是我們提供了一個手把手教會項目組進行開發的文檔。

接下來是測試、部署與上線的環節。

圖片

4、測試

在測試環節我們的目的是需要保證接入Kong和插件之后的質量。

  • 首先需要保證我們的限流功能是符合預期的。
  • 原來的API服務的功能回歸之后需要與之前保持一致。

鏡像流量和故障演練對于我們而言是比較重要的。

  • 鏡像流量指的是把生產環境的流量導入到測試環境,可以提前驗證限流之后我們的流量是否異常。也就是我們需要一個單獨的鏡像流量的環境,將生產環境的流量在該環境里提前進行驗證,因為我們增加了一個新的網關,變更的影響面是比較廣的,而且可能還會遇到奇怪的問題。如果我們提前把生產環境的流量導入過來,就可以提前發現這些問題。
  • 故障演練也是為了提前發現可能存在的問題和風險。

關于這兩點,我們內部有兩個最佳實踐說明,分別是《如何做好鏡像流量》和《如何做好從場景出發的故障演練》。

5、部署

接下來是部署環節。

  • 我們基于內部的一致性交付系統實現了模板部署,即不同的部署平臺,比如物理機或公有云、私有云,都可以用一致性交付的平臺實現統一的部署,那么項目組在部署時可以不用考慮太多的細節問題。
  • 其次我們在部署的時候可以一鍵接入監控、日志、告警、鏈路等功能。
  • 我們部署時有一個完善的部署指南會介紹方方面面的問題,比如我們接入Kong網關之后,對原先的服務拆分問題是如何處理的。

6、上線

最后的步驟是上線,我們也提供了詳細的上線步驟,以及checklist和最重要的灰度、回滾的技術方案。

總體而言我們這幾個環節也達到了手把手指引、實現的整個過程。

四、小結

前面我們提到的目標是低成本、高效率、高質量這幾個方面。

1、低成本

1)開發成本:項目組對接時基本上是0成本,或者只有少量的開發工作。

2)維護成本:后續的維護、升級工作都是由專業組負責的。

3)硬件成本:主要的是Kong的集群部署,根據項目組本身的流量大小,可以部署不同的副本數。如果選擇了分布式限流,那么還需要部署一個Redis,我們一般建議部署一個新的Redis,但是為了節約成本也可以和原先項目已有的Redis共用。

2、高效率

1)接入時間:我們在項目實踐時,最快的接入時間是三天,三天是在項目組沒有自己定制化的需求,不需要開發的情況下走完我們之前介紹的環節,即評估、測試、部署、上線。

2)硬件配置:我們有一個推薦配置,也就是根據我們不同的流量進行單獨測試,以及我們提供了比較完整的性能測試數據作為參考。

3)高效部署:網易內部的平臺相對完善,借助于我們的CI自動化、配置管理系統、容器云系統和一致性交付系統可以實現高效部署。

4)文檔建設:文檔建設我們是比較完善的,從剛開始接觸限流這套方案到上線的整個過程中各個環節,我們都有很詳細的文檔指引,遇到問題可以從文檔中尋找,也可以找專業組的同事了解。

3、高質量

1)技術支持:由專業組的同事提供技術支撐。

2)多樣場景:我們的插件機制適配了多樣化的限流場景和業務需求。

3)經驗復用:在各個項目對接和使用過程中的經驗或優化的問題,都可以總結復用,因為我們不同項目使用的是同一套技術體系,便于積累經驗。

4)自定擴展:我們雖然定制化了一些插件,以及一些Kong的部署過程,但是在實際開發時也考慮到了Kong原生態的兼容性,也就是項目組依然可以使用Kong原生態提供的豐富功能。

5)運維體系:接入了整套運維設施相關的功能體系,也就是前面我們提到的監控、報警、日志等。

6)充分驗證:我們的插件功能和性能得到了充分的測試,上線流程也比較完善,可以保證我們的可靠性。

通過以上環節可以保證服務限流方案的低成本、高效率和高質量。

Q&A

Q1:這個限流方案在哪些類型的項目上具有通用性?

A1:這個問題其實回歸到了我們項目的差異性上,總體來說,我們對于不管是普通的http短連接的項目,或者是一些長輪詢的場景以及長連接的場景,我們都有單獨做適配。因為本身Kong對于這幾種請求都可以支持,也就是我們只需要針對這幾種場景開發對應的插件即可。

Q2:Kong和插件對性能的影響大嗎?

A2:這一點我們在實際設計的時候也考慮過,經過實踐發現對性能的影響是比較小的。性能一方面是對我們的請求耗時的影響,經過我們的測試,耗時大概是在5毫秒左右,另外一方面是QPS,因為Kong和插件本身是支持橫向擴展的,以及Kong本身的性能也比較高,所以對QPS的影響是比較小的,我們在測試時最高達到過五六萬QPS,因此基本上不需要過于擔心這個問題。

Q3:如何實現長輪詢連接數限制?

A3:長輪詢本質是請求并發數的一個性質,只不過它是http請求,可能是一個掛起的狀態,需要掛起比如一分鐘。這個場景的實現過程大概如下:Kong本身對插件機制可以保證在請求前和請求后,我們可以插入鉤子函數。在請求前我們的鉤子函數會在Redis的Zset里設置一個請求的狀態,那么Zset的值就是該請求的唯一ID,比如它是一個雪花ID,然后分就是請求的過期時間,這個過期時間是當前時間加上請求配置里的TTL(請求的超時時間),兩者加起來就是該請求實際失效的時間。在請求進來時,我們會在Zset里記錄請求的數據,表示當前的請求并發數已經加一了。然后在執行Redis  Lua腳本的時候,它會先剔除那些已經過期了的請求數,在請求結束之后,會從Zset里移除該請求的數據,也就是請求并發數減一,這是大致原理。

作者:肖晗網易互娛技術中心數據與平臺服務部高級開發工程師 網易互娛技術中心數據與平臺服務部高級開發工程師,具有多年服務端經驗,現專注于CMDB、微服務、圖數據庫等方向。


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

2022-09-28 09:43:35

服務限流

2020-10-15 14:47:17

信創項目數據庫

2020-10-15 10:22:37

數據庫

2009-04-22 17:03:40

Linux服務器七要素

2024-11-29 16:02:17

2021-08-09 06:27:04

Gulp項目工具

2025-06-04 00:00:00

DifyMCP服務

2009-11-12 11:29:58

Linux服務器Windows 200

2009-10-30 17:13:20

ADSL接入網

2024-11-08 13:13:58

2022-05-03 19:38:15

限流微服務Sentinel

2023-12-20 22:04:17

Linux二進制文件

2025-04-10 08:00:00

服務限流開發高并發

2022-10-28 18:41:53

Java服務限流

2009-04-27 16:30:42

Linux服務器故障

2011-05-03 15:25:08

打印機打印亂碼

2011-05-06 14:22:17

2014-08-12 10:28:08

AngularJS外部API

2020-09-22 07:59:12

項目軟件
點贊
收藏

51CTO技術棧公眾號

aaa国产精品| 日本中文字幕伦在线观看| 亚洲小说欧美另类婷婷| 日韩国产精品亚洲а∨天堂免| 波多野结衣家庭教师在线| 久青青在线观看视频国产| 免费视频最近日韩| 欧美精品制服第一页| 中文字幕在线视频播放| 91精品国产66| 午夜精品久久久久久久99樱桃| 欧美一卡2卡3卡4卡无卡免费观看水多多| 青青国产在线视频| 国产精品videosex极品| 一本色道久久88精品综合| 日本黄色一级网站| 欧美成人精品三级网站| 亚洲综合免费观看高清完整版 | 日本欧美黄色片| 成人高清在线| 成人动漫一区二区三区| 国产精品丝袜久久久久久不卡| 精品无码久久久久久久| 日韩欧美高清在线播放| 日韩精品视频在线免费观看| 台湾佬美性中文| 久久久久久久性潮| 日韩欧美极品在线观看| 天堂8在线天堂资源bt| 欧美三级电影一区二区三区| 久久久久高清精品| 国产亚洲欧美一区二区| 国产美女三级无套内谢| 蜜桃视频一区二区三区在线观看| 久久免费视频网| 日韩在线观看免| 国产精品一区二区av日韩在线| 精品卡一卡二卡三卡四在线| 99九九精品视频| 成人四虎影院| 欧美午夜视频网站| 欧美极品欧美精品欧美图片| xxx.xxx欧美| 一区二区三区国产| 色哺乳xxxxhd奶水米仓惠香| 免费在线观看黄色网| 久久综合九色综合欧美亚洲| 精品欧美一区二区精品久久| 性生活视频软件| 国产精品影音先锋| 97人人干人人| 国产成人av免费看| 国产91丝袜在线18| av成人免费观看| 精品国产乱码久久久久久蜜臀网站| 久久成人综合网| 国产日韩专区在线| 国产精品一区二区人人爽| 麻豆一区二区在线| 91香蕉电影院| 亚洲第一天堂影院| proumb性欧美在线观看| 黑人巨大精品欧美一区二区小视频| 隣の若妻さん波多野结衣| 成人动漫视频在线| 久久国产精品久久| 激情小说 在线视频| 欧美韩国一区二区| 精品国产无码在线| 久草在线视频福利| 精品福利视频导航| 国产成人精品无码播放| 激情小说亚洲| 日韩欧美国产一区二区在线播放| 成人做爰69片免费| 青青久久av| 在线观看欧美成人| 色欧美88888久久久久久影院| 欧美壮男野外gaytube| www.国产色| 免费亚洲一区| 国产精品旅馆在线| 国产av一区二区三区| 粉嫩av一区二区三区在线播放| 国产精品久久亚洲| 你懂的在线网址| 国产精品美日韩| 男女裸体影院高潮| 色资源二区在线视频| 在线观看一区二区视频| 亚洲妇熟xx妇色黄蜜桃| 国产欧美啪啪| 在线观看久久久久久| 91插插插插插插| 国产精品人人爽人人做我的可爱| 国产精品入口尤物| www天堂在线| 久久人人爽爽爽人久久久| 亚洲欧美日韩综合一区| 波多野结衣中文字幕久久| 91久久免费观看| 久久久久亚洲av无码麻豆| 少妇一区二区三区| 精品国产美女在线| www.日本精品| 国产精品一二三| 久久99九九| v天堂福利视频在线观看| 亚洲成人午夜电影| 在线a免费观看| 国产精品亚洲片在线播放| 欧美日本中文字幕| 久久久久久无码精品大片| 粉嫩一区二区三区在线看| 深田咏美在线x99av| 91色在线看| 91精品婷婷国产综合久久| 在线不卡av电影| 亚洲精华国产欧美| 97自拍视频| 黄色av网站在线播放| 在线一区二区视频| 免费a在线观看播放| 欧美久久久久| 91久久久一线二线三线品牌| 成人影视在线播放| 色婷婷狠狠综合| 亚洲一级av无码毛片精品| 一本一本久久a久久综合精品| 国产成人亚洲综合| 视频一区二区三区国产| 亚洲一区二区精品久久av| 91在线第一页| 久久精品免费一区二区三区| 国产精品亚洲美女av网站| 国产尤物视频在线| 日本高清视频一区二区| 国产精品揄拍100视频| 亚洲理伦在线| 精品国产一区二区三区四区精华| 男女免费观看在线爽爽爽视频| 欧美一区二区国产| 欧美国产日韩在线观看成人| 狠狠色丁香九九婷婷综合五月| 亚洲国产精品123| 97成人超碰| 日韩在线视频观看| 91丨九色丨蝌蚪丨对白| 国产精品午夜久久| 中文久久久久久| jizzjizz欧美69巨大| 8090成年在线看片午夜| 欧美一区二区三区激情| 亚洲成a人片在线不卡一二三区| 九九热视频免费| 91av精品| 91精品黄色| melody高清在线观看| 欧美亚州韩日在线看免费版国语版| 狠狠人妻久久久久久综合蜜桃| 亚洲午夜在线| 国产乱码精品一区二区三区不卡| 蜜乳av一区| 亚洲九九九在线观看| 欧美a∨亚洲欧美亚洲| 91视频一区二区三区| 国精产品一区一区三区视频| 久久97久久97精品免视看秋霞| 91po在线观看91精品国产性色| 手机看片一区二区三区| 亚洲成人免费电影| 在线观看av中文字幕| 欧美一级网站| 99亚洲精品视频| 免费一级欧美片在线观看网站| 欧美成人合集magnet| 精品久久久久久亚洲综合网站| 最新中文字幕一区二区三区 | 国精产品一区一区三区mba下载| 7777精品伊人久久久大香线蕉的 | 日日摸夜夜添夜夜添国产精品| 欧美日韩成人一区二区三区| 91精品美女| 欧美成aaa人片免费看| 开心激情综合网| 色综合视频一区二区三区高清| 国产极品视频在线观看| 国内成人免费视频| 97在线国产视频| 米奇777超碰欧美日韩亚洲| 国产成人中文字幕| av色综合久久天堂av色综合在| 精品国产一区二区三区四区四| 日韩成人一区二区三区| 性生活免费在线观看| 日韩一区二区三区在线免费观看| 亚洲人成伊人成综合网久久久| 91视频在线视频| 亚洲国产成人一区二区三区| youjizzxxxx18| 欧美黄色一区二区| 精品免费二区三区三区高中清不卡| 超碰国产一区| 久久亚洲精品中文字幕冲田杏梨 | 无码av免费一区二区三区试看 | 日本一本中文字幕| 免费成人高清在线视频theav| 国产欧美一区二区白浆黑人| 天堂8中文在线最新版在线| 中文字幕成人在线| 黄色一级大片在线免费看国产一 | 日韩综合一区二区三区| 国内成人精品一区| 阿v免费在线观看| 日韩美女一区二区三区| 老熟妇一区二区三区| 亚洲三级在线观看| 成人在线视频免费播放| 国产精品中文字幕日韩精品 | 亚洲精品视频久久久| 国产一区免费电影| 国产精品无码av无码| 欧美日韩一区自拍 | 你懂的视频一区二区| 免费一区二区三区| 亚洲综合影院| 国产精品免费网站| 成人免费高清观看| 欧美日本啪啪无遮挡网站| 91精品专区| 亚洲欧美精品伊人久久| 国模无码一区二区三区| 91精品国产入口在线| 中文字幕乱码在线观看| 欧美日韩国产精品一区二区三区四区 | 国产一区二区三区四区视频 | 婷婷六月国产精品久久不卡| 欧美高清在线观看| 免费**毛片在线| 一区二区在线视频| 日本私人网站在线观看| 欧美一区二区三区日韩| 国产又粗又猛又爽又黄的视频一| 一本色道久久综合亚洲aⅴ蜜桃| 久久久久成人片免费观看蜜芽| 国产精品妹子av| x88av在线| 欧美国产日本视频| 国产亚洲精品熟女国产成人| www国产成人| 免费a在线观看播放| 国产成人精品网址| 少妇愉情理伦片bd| 激情综合色丁香一区二区| 一路向西2在线观看| 日韩av高清在线观看| 亚洲天堂2018av| 久久99热99| www.51色.com| 国产成人综合亚洲91猫咪| 亚洲av无日韩毛片久久| 国产美女在线观看一区| www.久久com| 国产精品一区二区免费不卡| 亚洲欧美一区二区三区不卡| 成人一区在线观看| 中文字幕乱码在线| 91日韩精品一区| 久久久久久久久久久久| 2017欧美狠狠色| 999久久久国产| 综合网在线视频| 天天操夜夜操av| 亚洲综合免费观看高清在线观看| 国产一级片免费看| 色哟哟一区二区三区| 波多野结衣家庭主妇| 欧美性色aⅴ视频一区日韩精品| 亚洲熟妇av乱码在线观看| 欧美久久久影院| 亚洲av无码国产精品永久一区| 欧美videossexotv100| 少妇人妻偷人精品一区二区| 国产视频精品久久久| 欧美96在线| 欧美久久精品一级黑人c片| 美女尤物在线视频| 青青a在线精品免费观看| 亚洲精品777| 国产高清精品一区| 九热爱视频精品视频| 亚洲国产成人不卡| 98精品久久久久久久| 欧美 日本 亚洲| 美女网站色91| 亚洲精品成人无码毛片| 成人av一区二区三区| 特黄一区二区三区| 亚洲成人av福利| 国产精品xxxxxx| 欧美一级日韩免费不卡| 精品福利视频导航大全| 久久久999精品| 欧美男男激情videos| 成人黄色免费看| 亚洲精品456| 国产又粗又大又爽的视频| 亚洲一区二区网站| 午夜大片在线观看| 国产欧美日韩不卡| 久久久久久久黄色| 欧美在线短视频| 日本xxxxxwwwww| 久久国产精品久久久久| 日韩电影免费观| 国产成人亚洲欧美| 天天做天天爱天天综合网2021| 可以免费观看av毛片| 国产91在线|亚洲| 国产在线免费看| 欧美性感美女h网站在线观看免费| 精品人妻一区二区三区日产乱码| 国产一级揄自揄精品视频| 黄色羞羞视频在线观看| 国产欧美日韩中文字幕| 噜噜噜狠狠夜夜躁精品仙踪林| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲国产精品第一区二区| 亚洲精品国产一区二区三区| www.日本不卡| 日本中文字幕免费观看| 91精品国产综合久久小美女| 国产露出视频在线观看| 国产综合在线看| 久久久久高潮毛片免费全部播放| 麻豆中文字幕在线观看| 日本视频中文字幕一区二区三区| 国产成人av免费观看| 亚洲精选视频在线| 91精品人妻一区二区三区果冻| 亚洲免费电影一区| 2021中文字幕在线| 国产一区视频观看| 黄色亚洲精品| jjzz黄色片| 午夜不卡av在线| 丰满人妻妇伦又伦精品国产| 久久精品亚洲国产| 国产精品国产亚洲精品| 国内精品国产三级国产99| 老司机午夜精品| 欧美性猛交xxxx乱大交少妇| 欧美日韩激情视频| 激情福利在线| 国产精品高潮呻吟视频| 国产在线日韩精品| 亚洲一级片免费| 国产精品色在线观看| 中文字幕精品一区二区精| 在线观看久久久久久| 国产激情综合| 国产激情片在线观看| 国产传媒欧美日韩成人| 91精品一区二区三区蜜桃| 日韩久久精品一区| 免费在线观看的电影网站| 99中文字幕| 久久国产欧美| 日本午夜精品视频| 5858s免费视频成人| 免费观看在线午夜影视| 成人午夜黄色影院| 亚洲欧美综合| 亚洲色偷偷色噜噜狠狠99网| 欧美性xxxxxxx| eeuss影院在线播放| 成人妇女淫片aaaa视频| 一区二区中文字| 原创真实夫妻啪啪av| 亚洲狠狠爱一区二区三区| 天堂中文字幕av| 国产欧美日韩丝袜精品一区| 欧美99在线视频观看| 欧美肉大捧一进一出免费视频 | 影音先锋在线国产| 国产亚洲成av人片在线观看桃| 久久av影院| 欧美日韩激情四射| 久久亚洲精品国产精品紫薇| 中文字幕日韩三级| 欧美第一淫aaasss性| 国产成人调教视频在线观看 | 亚洲色诱最新| 欧美亚洲色综久久精品国产| 欧美xxxxx牲另类人与| 日韩电影av| 国产a级黄色大片| 国产精品美女视频| 欧美 中文字幕| 国产精品色午夜在线观看|