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

聊聊Sentinel 快速入門

網絡 通信技術
隨著微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 以流量為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。

[[397765]]

本文轉載自微信公眾號「運維開發故事」,作者老鄭。轉載本文請聯系運維開發故事公眾號。

Sentinel 簡介

隨著微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 以流量為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。

Sentinel 具有以下特征:

  • 豐富的應用場景:Sentinel 承接了阿里巴巴近 10 年的雙十一大促流量的核心場景,例如秒殺(即突發流量控制在系統容量可以承受的范圍)、消息削峰填谷、集群流量控制、實時熔斷下游不可用應用等。
  • 完備的實時監控:Sentinel 同時提供實時的監控功能。您可以在控制臺中看到接入應用的單臺機器秒級數據,甚至 500 臺以下規模的集群的匯總運行情況。
  • 廣泛的開源生態:Sentinel 提供開箱即用的與其它開源框架/庫的整合模塊,例如與 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相應的依賴并進行簡單的配置即可快速地接入 Sentinel。
  • 完善的 SPI 擴展點:Sentinel 提供簡單易用、完善的 SPI 擴展接口。您可以通過實現擴展接口來快速地定制邏輯。例如定制規則管理、適配動態數據源等。

Sentinel 的主要特性:

Sentinel 的開源生態:

Sentinel 分為兩個部分:

核心庫(Java 客戶端)不依賴任何框架/庫,能夠運行于所有 Java 運行時環境,同時對 Dubbo / Spring Cloud 等框架也有較好的支持。

控制臺(Dashboard)基于 Spring Boot 開發,打包后可以直接運行,不需要額外的 Tomcat 等應用容器。

Sentinel、Hystrix、resilience4j 對比

 

 

Sentinel

Hystrix

resilience4j

隔離策略

信號量隔離(并發控制)

線程池隔離/信號量隔離

信號量隔離

熔斷降級策略

基于慢調用比例、異常比例、異常數

基于異常比例

基于異常比例、響應時間

實時統計實現

滑動窗口(LeapArray)

滑動窗口(基于 RxJava)

Ring Bit Buffer

動態規則配置

支持多種數據源

支持多種數據源

有限支持

擴展性

多個擴展點

插件的形式

接口的形式

基于注解的支持

支持

支持

支持

限流

基于 QPS,支持基于調用關系的限流

有限的支持

Rate Limiter

流量整形

支持預熱模式與勻速排隊控制效果

不支持

簡單的 Rate Limiter 模式

系統自適應保護

支持

不支持

不支持

多語言支持

Java/Go/C++

Java

Java

Service Mesh 支持

支持 Envoy/Istio

不支持

不支持

控制臺

提供開箱即用的控制臺,可配置規則、實時監控、機器發現等

簡單的監控查看

不提供控制臺,可對接其它監控系統

 

Sentinel 名詞

資源

資源是 Sentinel 的關鍵概念。它可以是 Java 應用程序中的任何內容,例如,由應用程序提供的服務,或由應用程序調用的其它應用提供的服務,甚至可以是一段代碼。在接下來的文檔中,我們都會用資源來描述代碼塊。

只要通過 Sentinel API 定義的代碼,就是資源,能夠被 Sentinel 保護起來。大部分情況下,可以使用方法簽名,URL,甚至服務名稱作為資源名來標示資源。

規則

圍繞資源的實時狀態設定的規則,可以包括流量控制規則、熔斷降級規則以及系統保護規則。所有規則可以動態實時調整。

流量控制

什么是流量控制

流量控制在網絡傳輸中是一個常用的概念,它用于調整網絡包的發送數據。然而,從系統穩定性角度考慮,在處理請求的速度上,也有非常多的講究。任意時間到來的請求往往是隨機不可控的,而系統的處理能力是有限的。我們需要根據系統的處理能力對流量進行控制。Sentinel 作為一個調配器,可以根據需要把隨機的請求調整成合適的形狀,如下圖所示:

流量控制設計理念

流量控制有以下幾個角度:

  • 資源的調用關系,例如資源的調用鏈路,資源和資源之間的關系;
  • 運行指標,例如 QPS、線程池、系統負載等;
  • 控制的效果,例如直接限流、冷啟動、排隊等。

Sentinel 的設計理念是讓您自由選擇控制的角度,并進行靈活組合,從而達到想要的效果。

熔斷降級

什么是熔斷降級

除了流量控制以外,及時對調用鏈路中的不穩定因素進行熔斷也是 Sentinel 的使命之一。由于調用關系的復雜性,如果調用鏈路中的某個資源出現了不穩定,可能會導致請求發生堆積,進而導致級聯錯誤。

Sentinel 和 Hystrix 的原則是一致的: 當檢測到調用鏈路中某個資源出現不穩定的表現,例如請求響應時間長或異常比例升高的時候,則對這個資源的調用進行限制,讓請求快速失敗,避免影響到其它的資源而導致級聯故障。

熔斷降級設計理念

在限制的手段上,Sentinel 和 Hystrix 采取了完全不一樣的方法。

Hystrix 通過 線程池隔離 的方式,來對依賴(在 Sentinel 的概念中對應 資源)進行了隔離。這樣做的好處是資源和資源之間做到了最徹底的隔離。缺點是除了增加了線程切換的成本(過多的線程池導致線程數目過多),還需要預先給各個資源做線程池大小的分配。

Sentinel 對這個問題采取了兩種手段:

  • 通過并發線程數進行限制

和資源池隔離的方法不同,Sentinel 通過限制資源并發線程的數量,來減少不穩定資源對其它資源的影響。這樣不但沒有線程切換的損耗,也不需要您預先分配線程池的大小。當某個資源出現不穩定的情況下,例如響應時間變長,對資源的直接影響就是會造成線程數的逐步堆積。當線程數在特定資源上堆積到一定的數量之后,對該資源的新請求就會被拒絕。堆積的線程完成任務后才開始繼續接收請求。

  • 通過響應時間對資源進行降級

除了對并發線程數進行控制以外,Sentinel 還可以通過響應時間來快速降級不穩定的資源。當依賴的資源出現響應時間過長后,所有對該資源的訪問都會被直接拒絕,直到過了指定的時間窗口之后才重新恢復。

系統自適應保護

Sentinel 同時提供系統維度的自適應保護能力。防止雪崩,是系統防護中重要的一環。當系統負載較高的時候,如果還持續讓請求進入,可能會導致系統崩潰,無法響應。在集群環境下,網絡負載均衡會把本應這臺機器承載的流量轉發到其它的機器上去。如果這個時候其它的機器也處在一個邊緣狀態的時候,這個增加的流量就會導致這臺機器也崩潰,最后導致整個集群不可用。

針對這個情況,Sentinel 提供了對應的保護機制,讓系統的入口流量和系統的負載達到一個平衡,保證系統在能力范圍之內處理最多的請求。

Sentinel 原理

Sentinel 的主要工作機制如下:

  • 對主流框架提供適配或者顯示的 API,來定義需要保護的資源,并提供設施對資源進行實時統計和調用鏈路分析。
  • 根據預設的規則,結合對資源的實時統計信息,對流量進行控制。同時,Sentinel 提供開放的接口,方便您定義及改變規則。
  • Sentinel 提供實時的監控系統,方便您快速了解目前系統的狀態。

Sentinel 使用

普通使用

如果應用使用 pom 工程,則在 pom.xml 文件中加入以下代碼即可:

  1. <dependency> 
  2.   <groupId>com.alibaba.csp</groupId> 
  3.   <artifactId>sentinel-core</artifactId> 
  4.   <version>1.8.1</version> 
  5. </dependency> 

 

接下來,我們把需要控制流量的代碼用 Sentinel API SphU.entry("HelloWorld") 和 entry.exit() 包圍起來即可。在下面的例子中,我們將 System.out.println("hello world"); 這端代碼作為資源,用 API 包圍起來(埋點)。參考代碼如下:

  1. while (true) { 
  2.   Entry entry = null
  3.   try { 
  4.     entry = SphU.entry("HelloWorld"); 
  5.     /*您的業務邏輯 - 開始*/ 
  6.     System.out.println("hello world"); 
  7.     TimeUnit.MILLISECONDS.sleep(10); 
  8.     /*您的業務邏輯 - 結束*/ 
  9.   } catch (BlockException e1) { 
  10.     /*流控邏輯處理 - 開始*/ 
  11.     System.out.println("block!"); 
  12.     /*流控邏輯處理 - 結束*/ 
  13.   } catch (InterruptedException e) { 
  14.     e.printStackTrace(); 
  15.   } finally { 
  16.     if (entry != null) { 
  17.       entry.exit(); 
  18.     } 
  19.   } 

接下來,通過規則來指定允許該資源通過的請求次數,例如下面的代碼定義了資源 HelloWorld 每秒最多只能通過 20 個請求。

  1. // 規則配置 
  2. private static void initFlowRules() { 
  3.   List<FlowRule> rules = new ArrayList<>(); 
  4.   FlowRule rule = new FlowRule(); 
  5.   rule.setResource("HelloWorld"); 
  6.   rule.setGrade(RuleConstant.FLOW_GRADE_QPS); 
  7.   // Set limit QPS to 20. 
  8.   rule.setCount(20); 
  9.   rules.add(rule); 
  10.   FlowRuleManager.loadRules(rules); 

Demo 運行之后,我們可以在日志 ~/logs/csp/${appName}-metrics.log.xxx 里看到下面的輸出:

  1. |--timestamp-|------date time----|-resource-|p |block|s |e|rt 
  2. 1619954886000|2021-05-02 19:28:06|HelloWorld|20|1|20|0|12|0|0|0 
  3. 1619954887000|2021-05-02 19:28:07|HelloWorld|20|3197|20|0|11|0|0|0 
  4. 1619954888000|2021-05-02 19:28:08|HelloWorld|20|2857|20|0|11|0|0|0 

其中 p 代表通過的請求, block 代表被阻止的請求, s 代表成功執行完成的請求個數, e 代表用戶自定義的異常, rt 代表平均響應時長。

可以看到,這個程序每秒穩定輸出 "hello world" 20 次,和規則中預先設定的閾值是一樣的。

注解方式

Sentinel 提供了 @SentinelResource 注解用于定義資源,并提供了 AspectJ 的擴展用于自動定義資源、處理 BlockException 等。使用 Sentinel Annotation AspectJ Extension 的時候需要引入以下依賴:

  1. <dependency> 
  2.     <groupId>com.alibaba.csp</groupId> 
  3.     <artifactId>sentinel-annotation-aspectj</artifactId> 
  4.     <version>x.y.z</version> 
  5. </dependency> 

 

示例

  1. // 對應的 `handleException` 函數需要位于 `ExceptionUtil` 類中,并且必須為 public static 函數. 
  2. // 對應的返回值也需要和當前方法一樣 
  3. @SentinelResource(value = "createOrder"
  4.                   blockHandler = "blockHandler"
  5.                   blockHandlerClass = {ExceptionUtils.class}) 
  6. @GetMapping("/createOrder"
  7. public OrderDto createOrder(OrderDto dto) { 
  8.   return new OrderDto(); 
  9. // ExceptionUtils 
  10. public class ExceptionUtils { 
  11.   public static OrderDto blockHandler(OrderDto dto, BlockException ex) { 
  12.     ex.printStackTrace(); 
  13.         return null
  14.   } 

@SentinelResource 注解

注意:注解方式埋點不支持 private 方法。

@SentinelResource 用于定義資源,并提供可選的異常處理和 fallback 配置項。@SentinelResource 注解包含以下屬性:

  • value:資源名稱,必需項(不能為空)
  • entryType:entry 類型,可選項(默認為 EntryType.OUT)
  • blockHandler / blockHandlerClass: blockHandler 對應處理 BlockException 的函數名稱,可選項。blockHandler 函數訪問范圍需要是 public,返回類型需要與原方法相匹配,參數類型需要和原方法相匹配并且最后加一個額外的參數,類型為 BlockException。blockHandler 函數默認需要和原方法在同一個類中。若希望使用其他類的函數,則可以指定 blockHandlerClass 為對應的類的 Class 對象,注意對應的函數必需為 static 函數,否則無法解析。
  • fallback / fallbackClass:fallback 函數名稱,可選項,用于在拋出異常的時候提供 fallback 處理邏輯。fallback 函數可以針對所有類型的異常(除了 exceptionsToIgnore 里面排除掉的異常類型)進行處理。fallback 函數簽名和位置要求:
    • 返回值類型必須與原函數返回值類型一致;
    • 方法參數列表需要和原函數一致,或者可以額外多一個 Throwable 類型的參數用于接收對應的異常。
    • fallback 函數默認需要和原方法在同一個類中。若希望使用其他類的函數,則可以指定 fallbackClass 為對應的類的 Class 對象,注意對應的函數必需為 static 函數,否則無法解析。
  • defaultFallback(since 1.6.0):默認的 fallback 函數名稱,可選項,通常用于通用的 fallback 邏輯(即可以用于很多服務或方法)。默認 fallback 函數可以針對所有類型的異常(除了 exceptionsToIgnore 里面排除掉的異常類型)進行處理。若同時配置了 fallback 和 defaultFallback,則只有 fallback 會生效。defaultFallback 函數簽名要求:
    • 返回值類型必須與原函數返回值類型一致;
    • 方法參數列表需要為空,或者可以額外多一個 Throwable 類型的參數用于接收對應的異常。
    • defaultFallback 函數默認需要和原方法在同一個類中。若希望使用其他類的函數,則可以指定 fallbackClass 為對應的類的 Class 對象,注意對應的函數必需為 static 函數,否則無法解析。
  • exceptionsToIgnore(since 1.6.0):用于指定哪些異常被排除掉,不會計入異常統計中,也不會進入 fallback 邏輯中,而是會原樣拋出。

1.8.0 版本開始,defaultFallback 支持在類級別進行配置。

注:1.6.0 之前的版本 fallback 函數只針對降級異常(DegradeException)進行處理,不能針對業務異常進行處理。

特別地,若 blockHandler 和 fallback 都進行了配置,則被限流降級而拋出 BlockException 時只會進入 blockHandler 處理邏輯。若未配置 blockHandler、fallback 和 defaultFallback,則被限流降級時會將 BlockException 直接拋出(若方法本身未定義 throws BlockException 則會被 JVM 包裝一層 UndeclaredThrowableException)。

Sentinel 控制臺

下載控制臺程序地址:

  1. https://github.com/alibaba/Sentinel/releases/tag/1.8.1 

啟動命令

  1. java -Dserver.port=8089  
  2. -Dcsp.sentinel.dashboard.server=127.0.0.1:8089  
  3. -Dproject.name=sentinel-dashboard  
  4. -jar sentinel-dashboard-1.8.1.jar 

登錄賬號,默認的登錄帳號和密碼都是:sentinel

登錄控制臺后我們可以通過右側菜單對我們的服務進行配置

參考

https://github.com/alibaba/Sentinel/wiki/介紹

https://github.com/Netflix/Hystrix/wiki/How-it-Works#benefits-of-thread-pools

 

責任編輯:武曉燕 來源: 運維開發故事
相關推薦

2023-10-08 12:14:42

Sentinel流量控制

2022-05-09 07:35:48

動態集群限流

2023-06-05 12:59:03

2022-01-10 11:28:55

數據結構算法DP入門

2015-10-29 15:36:19

Redis入門

2021-09-01 22:58:22

Canvas標簽

2022-01-04 11:31:15

不同路徑DP

2011-11-29 12:27:54

2023-09-25 15:34:14

2023-09-18 14:39:02

2009-09-24 15:27:41

Hibernate查詢

2010-06-24 13:35:53

GRE協議

2011-03-08 16:50:35

2024-11-08 13:13:58

2024-05-23 11:26:02

2011-05-16 09:22:28

SQL語言

2025-02-28 08:42:53

SpringNetflixHystrix

2021-01-15 09:30:02

Tomcat ApacheJavaServer

2019-11-13 15:44:17

Kafka架構數據

2009-11-18 14:53:59

PHP Session
點贊
收藏

51CTO技術棧公眾號

久久精品青青大伊人av| 色婷婷久久一区二区三区麻豆| 国产欧美亚洲视频| 国产一区二区播放| 国产伦乱精品| 91黄色在线观看| a级网站在线观看| 日本一卡二卡四卡精品| 九色综合狠狠综合久久| 韩国精品美女www爽爽爽视频| 一级性生活毛片| 91麻豆精品一二三区在线| 精品国产精品三级精品av网址| 日本在线观看不卡| 狠狠人妻久久久久久综合麻豆| 老鸭窝亚洲一区二区三区| 久久这里有精品视频| 人妻丰满熟妇av无码久久洗澡 | 亚洲色偷偷色噜噜狠狠99网| 97人人做人人爽香蕉精品| 亚洲亚洲人成综合网络| 亚洲欧美日韩国产成人综合一二三区| 丰满熟妇乱又伦| 六月丁香婷婷色狠狠久久| 97成人精品区在线播放| 国精品无码一区二区三区| 国产区精品区| 亚洲成人在线视频播放| aaaaaaaa毛片| 成人深夜福利| 色乱码一区二区三区88| av网站手机在线观看| 麻豆系列在线观看| 欧美韩国日本综合| 国产激情一区二区三区在线观看| 久久久久久久亚洲| 亚洲毛片播放| 欧美黑人国产人伦爽爽爽| 久久日免费视频| 羞羞色国产精品网站| 精品福利视频一区二区三区| 天天干天天爽天天射| 超碰国产一区| 无吗不卡中文字幕| 日本阿v视频在线观看| 自拍视频在线| 国产精品久99| 一区二区不卡在线视频 午夜欧美不卡'| 五月婷婷在线观看视频| 成人免费高清视频| 成人h视频在线观看| 999免费视频| 久久国产精品无码网站| 国产精品h片在线播放| 国产性生活视频| 久久婷婷激情| 国产精品91一区| 69视频免费看| 蜜桃av一区二区在线观看 | 国产1区2区3区中文字幕| free性欧美hd另类精品| 最新热久久免费视频| 中文字幕一区二区三区四区五区| 黄色的网站在线观看| 亚洲激情av在线| 粉嫩av一区二区三区天美传媒| yellow91字幕网在线| 亚洲一区二区欧美日韩| 久久久久久久久久网| xxxxx性欧美特大| 91国偷自产一区二区三区观看| 成熟老妇女视频| 欧美最新精品| 欧美日韩免费观看一区三区| 中文字幕免费高清在线| 成人午夜888| 精品国产乱码久久久久久浪潮 | 久久精品国产精品亚洲| 成年人一级黄色片| 国内在线观看一区二区三区| 国语自产精品视频在线看| 久久夜靖品2区| 日日夜夜免费精品| 91亚洲永久免费精品| 亚洲精品久久久久久无码色欲四季 | 涩爱av在线播放一区二区| 国产在线麻豆精品观看| 国产精品三区www17con| 国产小视频免费在线网址| 亚洲国产精品t66y| 日本福利视频在线观看| 成人欧美大片| 制服丝袜亚洲色图| 亚洲视频在线播放免费| 日韩高清欧美| 欧美精品激情在线观看| 夜夜爽妓女8888视频免费观看| 国产一区二区在线看| 精品一区二区三区视频日产| 色的视频在线免费看| 午夜久久久影院| 少妇一级淫免费播放| h视频久久久| 在线观看久久av| 久草精品视频在线观看| 麻豆精品国产91久久久久久| 国产福利久久精品| 成人午夜在线观看视频| 亚洲一区二区在线播放相泽| 色七七在线观看| av成人资源网| 久久精品国产免费观看| caoporn国产| 国产91综合一区在线观看| 日韩精品不卡| 99色在线观看| 日韩一区二区三区四区| 黄色片网站免费| 99riav1国产精品视频| 91精品视频在线看| 成人在线高清视频| 欧美性xxxx18| 中文字幕精品视频在线| 91精品91| 国产专区精品视频| 黄色视屏网站在线免费观看| 亚洲成av人片www| 成人三级做爰av| 婷婷久久一区| 国产精品直播网红| 国产精品视频一区二区久久| 激情成人中文字幕| 黄色av电影网站| 欧美99久久| 成人午夜两性视频| porn亚洲| 欧美在线999| 成人国产精品久久久网站| 国产欧美不卡| 久草精品电影| 蜜桃视频m3u8在线观看| 亚洲黄色成人网| 日韩三级小视频| 国产福利91精品一区| 日韩精品免费一区| 精品网站999| 欧美精品一区三区| 国产精品玖玖玖| 亚洲视频中文字幕| 激情文学亚洲色图| 在线精品国产| av免费观看久久| 成年人国产在线观看| 日韩欧美专区在线| 国产亚洲精品av| 成人av网站大全| www.爱色av.com| 欧美禁忌电影| 国产精品露脸自拍| 日本综合在线| 91精品国产综合久久香蕉的特点| 欧美一区二区三区爽爽爽| 国产精品一区一区| 加勒比成人在线| 亚洲黄色录像| 国产精品情侣自拍| 1024免费在线视频| 日韩精品中文字幕在线一区| 女人裸体性做爰全过| 日韩av高清在线观看| 正在播放久久| 999在线精品| 国产mv久久久| 精品51国产黑色丝袜高跟鞋| 日韩欧美色电影| 91精品国产乱码久久久张津瑜| 久久精品综合网| 久久久精品高清| 国色天香一区二区| 欧美黑人3p| 成人激情久久| 91国内产香蕉| 91啦中文在线| 亚洲精品一区二区三区精华液| 蜜臀精品一区二区三区| 国产精品久久久久久久裸模| 国产免费无码一区二区| 日韩精品成人一区二区三区 | 欧美日韩欧美| 精品国产电影一区二区| 波多野结衣二区三区| 亚洲精品国产无套在线观| 久久一区二区电影| 久久99国产精品免费| www.av毛片| 日韩一区二区中文| 激情五月综合色婷婷一区二区 | 成人免费在线一区二区三区| 91精品论坛| 美女少妇精品视频| 精品成人一区二区三区免费视频| 日本韩国欧美一区| 亚洲欧美卡通动漫| 26uuu另类欧美| 女人扒开腿免费视频app| 久久性天堂网| 999一区二区三区| 青青草91久久久久久久久| 国产伦精品一区| 婷婷久久免费视频| 日本一区二区三区四区视频| 亚洲电影视频在线| 在线观看亚洲视频| 日韩有码电影| 精品久久久久久最新网址| 中文在线观看免费高清| 黑人巨大精品欧美一区二区三区| 婷婷综合在线视频| 久久欧美中文字幕| 丰满岳乱妇一区二区| 国产精品123| 怡红院亚洲色图| 三级久久三级久久| 99精品人妻少妇一区二区| 欧美日韩国产探花| 亚洲黄色网址在线观看| 色天天综合网| 亚洲高清精品中出| 免费视频国产一区| 久久青青草原| 伦理一区二区| 狠狠色伊人亚洲综合网站色| 最新国产一区二区| 99re国产在线播放| 国产不卡精品| 亚洲xxxxx性| 91九色成人| 91在线观看免费高清| 日本国产一区| 91九色精品视频| 电影一区中文字幕| 成人精品久久久| 精品国产乱码久久久久久樱花| 国产日韩欧美日韩| 男女啪啪999亚洲精品| 国产精品一区电影| 欧美成人xxxx| 成人国产精品日本在线| 高清国产一区二区三区四区五区| 91精品国产综合久久久久久久久| 亚洲国产精选| 亚洲一区二区久久久久久| 玖玖玖电影综合影院| 91成人免费观看| 91午夜精品| 久草热久草热线频97精品| 伊人久久大香线蕉综合网站| 欧美一区二区三区成人久久片| 国产中文字幕一区二区三区| 杨幂一区欧美专区| 欧美+亚洲+精品+三区| 成人一级生活片| 一区二区福利| 青青草av网站| 激情久久久久久久久久久久久久久久| 亚洲日本黄色片| 国产精品99久久久久久久vr| 亚洲国产精品自拍视频| 久久久久青草大香线综合精品| 国产精品av久久久久久无| 国产精品福利一区二区| 久久久久久久蜜桃| 岛国av在线不卡| 亚洲网站在线免费观看| 日韩欧美一卡二卡| 日韩二区三区| 少妇激情综合网| 国产精品—色呦呦| 国产成人精品在线播放| 成人免费91| 久久伊人一区二区| 99久久精品费精品国产风间由美| 欧美一区二区视频在线播放| 香蕉av777xxx色综合一区| 性生活免费在线观看| 成人黄色在线看| 精品日韩在线视频| 亚洲综合色自拍一区| 色av性av丰满av| 欧美一级高清片在线观看| 手机亚洲第一页| 尤物99国产成人精品视频| 主播国产精品| 日韩免费观看视频| 自拍偷拍欧美日韩| 久久精品ww人人做人人爽| 91免费精品| 欧美精品色婷婷五月综合| 紧缚奴在线一区二区三区| aaaaa一级片| 亚洲综合在线视频| 依依成人在线视频| 亚洲精品国产福利| 尤物视频在线看| 国产精品久久久久久久久久小说 | 欧美13一14另类| 亚洲欧美亚洲| 蜜桃免费在线视频| 99这里只有精品| 久久久久亚洲AV成人| 欧美日韩在线精品一区二区三区激情 | 能直接看的av| 精品成人国产在线观看男人呻吟| 国产又粗又长视频| 亚洲视频网站在线观看| 丰乳肥臀在线| 亚洲自拍偷拍福利| 久久一区二区中文字幕| 欧美日韩第二页| 成人国产亚洲欧美成人综合网| 手机在线免费看片| 欧美日韩亚洲综合在线 | 精品中文字幕在线2019| 日韩毛片网站| 天堂va久久久噜噜噜久久va| 99综合在线| 国产原创剧情av| 夜夜嗨av一区二区三区中文字幕| 亚洲天堂男人网| 中文字幕欧美日韩| 偷拍视频一区二区三区| 美乳视频一区二区| 99精品福利视频| 图片区偷拍区小说区| 亚洲精品免费在线观看| 国产精品久久久久久久免费| 色老头一区二区三区在线观看| 日韩在线观看不卡| 欧美成人蜜桃| 久久裸体视频| 五月天综合视频| 在线观看不卡一区| av中文字幕一区二区三区| 国产精品∨欧美精品v日韩精品| 久操精品在线| 国产又大又黄又粗的视频| 国产亚洲成aⅴ人片在线观看| 欧美亚洲另类小说| 国产一区二区三区18| 国产一区二区三区四区五区3d| 日本一区美女| 蜜臀久久99精品久久久画质超高清| 国产三级在线观看完整版| 欧美日免费三级在线| 91大神xh98hx在线播放| 成人免费xxxxx在线观看| 一区二区三区四区在线观看国产日韩 | 久久久综合久久| 精品91自产拍在线观看一区| а√天堂8资源中文在线| 美女视频久久| 美女性感视频久久| 丝袜美腿小色网| 亚洲国产欧美一区二区丝袜黑人| 亚洲欧洲美洲av| 亚洲一区二区精品在线观看| 国产精品一区免费视频| 国产精品a成v人在线播放| 亚洲女在线观看| 九七影院97影院理论片久久| 老司机午夜免费福利视频| av高清久久久| 亚洲午夜无码久久久久| 色yeye香蕉凹凸一区二区av| 亚洲国产欧美国产第一区| 国产淫片免费看| 国产精品欧美久久久久一区二区| 99在线观看精品视频| 91精品国产777在线观看| 成人一区二区| 亚洲熟妇一区二区| 色综合久久88色综合天天6 | 国产精品卡一卡二| 亚洲精品国产精品国| 国产aaa精品| 欧美日韩三级| a资源在线观看| 精品国产乱子伦一区| 日本综合视频| 成人免费性视频| 亚洲国产精品激情在线观看| 精品乱子伦一区二区| 情事1991在线| 欧美日本三区| 摸摸摸bbb毛毛毛片| 日韩欧美高清dvd碟片| 日韩中文视频| 日韩av在线播放不卡| 国产精品成人在线观看| 五月天婷婷激情网|