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

隔離術(shù)之使用Hystrix實(shí)現(xiàn)隔離

開發(fā) 開發(fā)工具
本文主要介紹使用Hystrix實(shí)現(xiàn)隔離。

1. Hystrix簡介

Hystrix是Netflix開源的一款針對分布式系統(tǒng)的延遲和容錯(cuò)庫,目的是用來隔離分布式服務(wù)故障。它提供線程和信號量隔離,以減少不同服務(wù)之間資源競爭帶來的相互影響;提供優(yōu)雅降級機(jī)制;提供熔斷機(jī)制使得服務(wù)可以快速失敗,而不是一直阻塞等待服務(wù)響應(yīng),并能從中快速恢復(fù)。Hystrix通過這些機(jī)制來阻止級聯(lián)失敗并保證系統(tǒng)彈性、可用。下圖是一個(gè)典型的分布式服務(wù)實(shí)現(xiàn)。

分布式服務(wù)實(shí)現(xiàn)

首先,當(dāng)大多數(shù)人在使用Tomcat時(shí),多個(gè)HTTP服務(wù)會(huì)共享一個(gè)線程池,假設(shè)其中一個(gè)HTTP服務(wù)訪問的數(shù)據(jù)庫響應(yīng)非常慢,這將造成服務(wù)響應(yīng)時(shí)間延遲增加,大多數(shù)線程阻塞等待數(shù)據(jù)響應(yīng)返回,導(dǎo)致整個(gè)Tomcat線程池都被該服務(wù)占用,甚至拖垮整個(gè)Tomcat。因此,如果我們能把不同HTTP服務(wù)隔離到不同的線程池,則某個(gè)HTTP服務(wù)的線程池滿了也不會(huì)對其他服務(wù)造成災(zāi)難性故障。這就需要線程隔離或者信號量隔離來實(shí)現(xiàn)了。

使用線程隔離或信號隔離的目的是為不同的服務(wù)分配一定的資源,當(dāng)自己的資源用完,直接返回失敗而不是占用別人的資源。

同理,如“HTTP服務(wù)1”和“HTTP服務(wù)2”要分別訪問遠(yuǎn)程的“分布式服務(wù)A”和“分布式服務(wù)B”,假設(shè)它們共享線程池,那么其中一個(gè)服務(wù)在出現(xiàn)問題時(shí)也會(huì)影響到另一個(gè)服務(wù),因此,我們需要進(jìn)行訪問隔離,可以通過Hystrix的線程池隔離或信號量隔離來實(shí)現(xiàn)。

其次,“分布式服務(wù)B”依賴了“分布式服務(wù)D”和“分布式服務(wù)E”,其中“分布式服務(wù)D”是一個(gè)可降級的服務(wù),意思是出現(xiàn)故障時(shí)(如超時(shí)、網(wǎng)絡(luò)故障)可以暫時(shí)屏蔽掉或者返回緩存臟數(shù)據(jù),如訪問商品詳情頁時(shí),可以暫時(shí)屏蔽掉上邊的商家信息,不會(huì)影響用戶下單流程。

當(dāng)我們依賴的服務(wù)訪問超時(shí)時(shí),要提供降級策略。比如,返回托底數(shù)據(jù)阻止級聯(lián)故障。當(dāng)因?yàn)橐恍┕收?如網(wǎng)絡(luò)故障)使得服務(wù)可用率下降時(shí),要能及時(shí)熔斷,一是快速失敗,二是可以保護(hù)遠(yuǎn)程分布式服務(wù)。

到此我們大體了解了Hystrix是用來解決什么問題的。

  • 限制調(diào)用分布式服務(wù)的資源使用,某一個(gè)調(diào)用的服務(wù)出現(xiàn)問題不會(huì)影響其他服務(wù)調(diào)用,通過線程池隔離和信號量隔離實(shí)現(xiàn)。
  • Hystrix提供了優(yōu)雅降級機(jī)制:超時(shí)降級、資源不足時(shí)(線程或信號量)降級,降級后可以配合降級接口返回托底數(shù)據(jù)。
  • Hystrix也提供了熔斷器實(shí)現(xiàn),當(dāng)失敗率達(dá)到閥值自動(dòng)觸發(fā)降級(如因網(wǎng)絡(luò)故障/超時(shí)造成的失敗率高),熔斷器觸發(fā)的快速失敗會(huì)進(jìn)行快速恢復(fù)。
  • 還提供了請求緩存、請求合并實(shí)現(xiàn)。

接下來,我們來看下如何使用Hystrix,本書使用的版本是Hystrix- 1.5.6。

2. 隔離示例

以線程池隔離為示例,會(huì)為不同的服務(wù)設(shè)置不同的線程池,從而實(shí)現(xiàn)相互隔離。

線程池隔離

為不同的HTTP服務(wù)設(shè)置不同的線程池,為不同的分布式服務(wù)調(diào)用設(shè)置不同的線程池。

假設(shè)我們現(xiàn)在要調(diào)用一個(gè)獲取庫存服務(wù),通過封裝一個(gè)命令GetStockServiceCommand來實(shí)現(xiàn)。

  1. public class GetStockServiceCommand extends HystrixCommand<String> { 
  2.     private StockService stockService; 
  3.     public GetStockServiceCommand() { 
  4.         super(setter()); 
  5.     } 
  6.     private static Setter setter() { 
  7.         //服務(wù)分組 
  8.         HystrixCommandGroupKey groupKey = HystrixCommandGroupKey.Factory. asKey("stock"); 
  9.         //服務(wù)標(biāo)識 
  10.         HystrixCommandKey commandKey =HystrixCommandKey.Factory. asKey("getStock"); 
  11.         //線程池名稱 
  12.         HystrixThreadPoolKey threadPoolKey = HystrixThreadPoolKey.Factory. asKey("stock-pool"); 
  13.         //線程池配置 
  14.         HystrixThreadPoolProperties.Setter threadPoolProperties =HystrixThreadPoolProperties.Setter threadPoolProperties =HystrixThreadPoolProperties.Setter() 
  15.                .withCoreSize(10) 
  16.                .withKeepAliveTimeMinutes(5) 
  17.                .withMaxQueueSize(Integer.MAX_VALUE) 
  18.                .withQueueSizeRejectionThreshold(10000); 
  19.   
  20.         //命令屬性配置 
  21.         HystrixCommandProperties.Setter commandProperties = HystrixCommandProperties.Setter() 
  22.                .withExecutionIsolationStrategy(HystrixCommandProperties.ExecutionIsolationStrategy.THREAD); 
  23.         return HystrixCommand.Setter 
  24.                         .withGroupKey(groupKey) 
  25.                        .andCommandKey(commandKey) 
  26.                        .andThreadPoolKey(threadPoolKey) 
  27.                        .andThreadPoolPropertiesDefaults(threadPoolProperties) 
  28.                         .andCommandPropertiesDefaults(commandProperties); 
  29.     } 
  30.    @Override 
  31.     protectedString run() throws Exception { 
  32.         return stockService.getStock(); 
  33.     } 

幾個(gè)重要組件如下。

  • HystrixCommandGroupKey:配置全局唯一標(biāo)識服務(wù)分組的名稱,比如,庫存系統(tǒng)就是一個(gè)服務(wù)分組。當(dāng)我們監(jiān)控時(shí),相同分組的服務(wù)會(huì)聚合在一起,必填選項(xiàng)。
  • HystrixCommandKey:配置全局唯一標(biāo)識服務(wù)的名稱,比如,庫存系統(tǒng)有一個(gè)獲取庫存服務(wù),那么就可以為這個(gè)服務(wù)起一個(gè)名字來唯一識別該服務(wù),如果不配置,則默認(rèn)是簡單類名。
  • HystrixThreadPoolKey:配置全局唯一標(biāo)識線程池的名稱,相同線程池名稱的線程池是同一個(gè),如果不配置,則默認(rèn)是分組名,此名字也是線程池中線程名字的前綴。
  • HystrixThreadPoolProperties:配置線程池參數(shù),coreSize配置核心線程池大小和線程池***大小,keepAliveTimeMinutes是線程池中空閑線程生存時(shí)間(如果不進(jìn)行動(dòng)態(tài)配置,那么是沒有任何作用的),maxQueueSize配置線程池隊(duì)列***大小,queueSizeRejectionThreshold限定當(dāng)前隊(duì)列大小,即實(shí)際隊(duì)列大小由這個(gè)參數(shù)決定,通過改變queueSizeRejectionThreshold可以實(shí)現(xiàn)動(dòng)態(tài)隊(duì)列大小調(diào)整。
  • HystrixCommandProperties:配置該命令的一些參數(shù),如executionIsolationStrategy配置執(zhí)行隔離策略,默認(rèn)是使用線程隔離,此處我們配置為THREAD,即線程池隔離。

此處可以粗粒度實(shí)現(xiàn)隔離,也可以細(xì)粒度實(shí)現(xiàn)隔離,如下所示。

  • 服務(wù)分組+線程池:粗粒度實(shí)現(xiàn),一個(gè)服務(wù)分組/系統(tǒng)配置一個(gè)隔離線程池即可,不配置線程池名稱或者相同分組的線程池名稱配置為一樣。
  • 服務(wù)分組+服務(wù)+線程池:細(xì)粒度實(shí)現(xiàn),一個(gè)服務(wù)分組中的每一個(gè)服務(wù)配置一個(gè)隔離線程池,為不同的命令實(shí)現(xiàn)配置不同的線程池名稱即可。
  • 混合實(shí)現(xiàn):一個(gè)服務(wù)分組配置一個(gè)隔離線程池,然后對重要服務(wù)單獨(dú)設(shè)置隔離線程池。

如上配置是在應(yīng)用啟動(dòng)時(shí)就配置好了,在實(shí)際運(yùn)行過程中,我們可能隨時(shí)調(diào)整其中一些參數(shù),如線程池大小、隊(duì)列大小,此時(shí),可以使用如下方式進(jìn)行動(dòng)態(tài)配置。

  1. String dynamicQueueSizeRejectionThreshold = "hystrix.threadpool."+ "stock-pool" + ".queueSizeRejectionThreshold"; 
  2. Configuration configuration = ConfigurationManager.getConfigInstance(); 
  3. configuration.setProperty(dynamicQueueSizeRejectionThreshold,100); 

如果是改變線程池配置,則是"hystrix.threadpool."+ threadPoolKey + propertyName;如果是改變命令屬性配置,則是"hystrix.command." + commandKey + propertyName。

接下來就可以通過如下方式創(chuàng)建命令。

  1. GetStockServiceCommand command = new GetStockServiceCommand(newStockService()); 

然后通過如下方式同步調(diào)用。

  1. String result = command.execute(); 

或者返回Future從而實(shí)現(xiàn)異步調(diào)用。

  1. Future<String> future = command.queue(); 

或者配合RxJava實(shí)現(xiàn)響應(yīng)式編程。

  1. Observable<String> observe =command.observe(); 
  2. observe.asObservable().subscribe((result) -> { 
  3.     System.out.println(result); 
  4. }); 

在應(yīng)用Hystrix時(shí),首先需要把服務(wù)封裝成HystrixCommand,即命令模式實(shí)現(xiàn),然后就可以通過同步/異步/響應(yīng)式模式來調(diào)用服務(wù)。

信號量隔離通過如下配置即可。

  1. HystrixCommandProperties.Setter commandPropertiesHystrixCommandProperties.Setter()          .withExecutionIsolationStrategy(HystrixCommandProperties.ExecutionIsolationStrategy.SEMAPHORE) 
  2.        .withExecutionIsolationSemaphoreMaxConcurrentRequests(50); 

信號量隔離只是限制了總的并發(fā)數(shù),服務(wù)使用主線程進(jìn)行同步調(diào)用,即沒有線程池。因此,如果只是想限制某個(gè)服務(wù)的總并發(fā)調(diào)用量或者調(diào)用的服務(wù)不涉及遠(yuǎn)程調(diào)用的話,可以使用輕量級的信號量來實(shí)現(xiàn)。

GetStockServiceCommand不是單例,不能重用,必須每次使用創(chuàng)建一個(gè)。如果覺得Hystrix太麻煩或者太重,則可以參考Hystrix思路設(shè)計(jì)自己的組件。

【本文是51CTO專欄作者張開濤的原創(chuàng)文章,作者微信公眾號:開濤的博客( kaitao-1234567)】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2016-11-25 00:38:45

隔離負(fù)載均衡系統(tǒng)

2020-01-10 11:18:17

Hystrix架構(gòu)系統(tǒng)

2023-11-09 08:18:31

Hystrix保護(hù)系統(tǒng)資源隔離

2025-04-23 11:00:00

Hystrix隔離模式信號量

2024-07-03 11:48:08

接口隔離代碼開發(fā)

2020-12-30 08:01:07

Java隔離加載

2017-07-04 17:35:46

微服務(wù)架構(gòu)Spring Clou

2019-07-02 14:08:50

物理隔離工業(yè)控制網(wǎng)絡(luò)工控安全

2024-07-16 11:26:35

微前端代碼JS

2025-04-16 08:50:00

信號量隔離線程池隔離并發(fā)控制

2010-09-25 13:43:17

交換機(jī)端口隔離

2019-10-12 00:24:29

微隔離SDN安全架構(gòu)

2024-04-23 08:17:14

MySQL數(shù)據(jù)庫隔離

2013-08-16 17:50:13

2022-10-19 09:27:39

2023-06-07 13:50:00

SaaS多租戶系統(tǒng)

2020-10-13 10:32:24

MySQL事務(wù)MVCC

2021-09-07 10:33:42

MySQL事務(wù)隔離性

2010-09-30 16:35:34

DB2隔離級別

2010-11-19 16:13:06

oracle事務(wù)隔離級
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

亚洲av无码成人精品区| 久久草视频在线看| 懂色av懂色av粉嫩av| 超碰国产精品一区二页| 亚洲天堂av一区| 91精品视频观看| 麻豆成人在线视频| 秋霞综合在线视频| 欧美日免费三级在线| 天堂av免费看| 天天干天天干天天干| 首页亚洲欧美制服丝腿| 久久夜色精品亚洲噜噜国产mv | 免费日韩精品中文字幕视频在线| 在线视频欧美日韩精品| av影片在线播放| 亚洲综合在线电影| 亚洲一区二区三区四区中文字幕 | 日韩av有码| 精品久久人人做人人爱| 日本999视频| 欧美aaaaaaa| 中文字幕欧美日韩一区| av一区二区三区在线观看| 日本视频免费观看| 欧美日韩一区二区三区四区在线观看 | 国产综合久久久久久| 国产亚洲精品码| 欧美在线色图| 日韩电影视频免费| 人妻精油按摩bd高清中文字幕| 高清不卡亚洲| 亚洲成人久久影院| 亚洲免费视频播放| 高清毛片在线看| av男人天堂一区| 91精品网站| 国产又粗又黄又爽| 日本不卡中文字幕| 欧美在线视频观看| 久久亚洲成人av| 一本一道久久a久久精品蜜桃| 亚洲欧美在线一区| 人妻换人妻a片爽麻豆| 疯狂欧洲av久久成人av电影| 欧美在线视频全部完| 成人免费在线小视频| h片视频在线观看| 一区二区免费看| www.黄色网址.com| 久cao在线| 亚洲同性gay激情无套| 午夜精品一区二区三区四区| 日韩av成人| 波多野结衣视频一区| 97超级碰碰| 国产丰满果冻videossex| 精品一区二区三区免费播放| 国产精品亚洲网站| 在线播放精品视频| 美国欧美日韩国产在线播放 | 亚洲国产天堂| 欧美日韩精品一区二区三区四区 | 精品88久久久久88久久久| 能看毛片的网站| 精品国产18久久久久久二百| 91麻豆精品久久久久蜜臀| 999久久久精品视频| 在线视频成人| 欧美一二三区在线观看| 成年人看片网站| 国产精品网站在线看| 91国产福利在线| 人妻无码久久一区二区三区免费| sm久久捆绑调教精品一区| 亚洲国产欧美另类丝袜| 国产精品无码一区二区在线| 天堂av在线网| 欧美最新大片在线看| 在线观看的毛片| avtt久久| 亚洲爱爱爱爱爱| 中文精品在线观看| 欧美亚洲激情| 久久成人人人人精品欧| 久久中文字幕无码| 久久人人97超碰国产公开结果| 国产精品福利网| 国产又粗又长视频| 岛国一区二区三区| 久久国产精品久久| 超碰免费在线观看| 一区二区三区**美女毛片| 尤物av无码色av无码| 成人爱爱网址| 777午夜精品视频在线播放| 中文字幕永久免费| 久久av免费| 久久成人精品视频| 4438国产精品一区二区| 久久99精品久久只有精品| 国产精品久久国产三级国电话系列| 欧美一级性视频| 欧美国产精品一区二区| 国产精品视频一二三四区| 欧美动物xxx| 欧美刺激脚交jootjob| 国产精品揄拍100视频| 欧美在线日韩| 国产成人鲁鲁免费视频a| 国产美女免费看| 久久免费精品国产久精品久久久久| 在线电影看在线一区二区三区| yellow字幕网在线| 51久久夜色精品国产麻豆| 在线观看av中文字幕| 五月久久久综合一区二区小说| 97精品久久久| 国产免费无遮挡| 久久久一区二区| 日本中文字幕在线视频观看| 欧美成人aaa| 日韩激情视频在线| 日韩三级久久久| 久久精品中文| 国产伦精品一区二区三区照片| 自拍视频在线网| 色综合天天视频在线观看| 能看毛片的网站| 国产精品久久久久久久久妇女| 91精品国产91久久久久久久久| 国产毛片毛片毛片毛片毛片| 欧美国产成人精品| 欧美xxxxx在线视频| 在线播放一区二区精品视频| 日韩日本欧美亚洲| 中文字幕视频免费观看| 久久人人爽人人爽| 精品少妇人妻av免费久久洗澡| vam成人资源在线观看| 中文字幕欧美亚洲| 久久久999久久久| 久久伊人蜜桃av一区二区| 国产69精品久久久久999小说| 国产一区二区高清在线| xvideos亚洲| 在线观看视频中文字幕| 国产农村妇女精品| jizz欧美激情18| 黑丝美女一区二区| 日本免费久久高清视频| 日本aaa在线观看| 精品国产户外野外| 国产麻豆剧传媒精品国产av| 国内精品久久久久久久影视麻豆 | 欧美人与物videos| 99热这里只有精品在线观看| 国产精品第一页第二页第三页| 国产精品久久久久9999小说| 沈樵精品国产成av片| 日本欧美一级片| 国产毛片在线| 欧美午夜免费电影| 亚洲精品天堂网| 久久超碰97中文字幕| 中文字幕在线亚洲三区| 精品视频国内| 欧美激情一级欧美精品| 狠狠综合久久av一区二区| 亚洲成人自拍偷拍| 欧美 变态 另类 人妖| 免费在线观看成人av| 日本一区不卡| 婷婷激情成人| 欧美肥老妇视频| 日本高清视频网站| 日韩欧美亚洲综合| 美国黑人一级大黄| 国产又黄又大久久| 国产精品国产对白熟妇| 亚洲大片精品免费| 国产精品美女主播| a毛片在线看免费观看| 亚洲成成品网站| 五月婷婷色丁香| 欧美激情中文不卡| 无码人妻少妇色欲av一区二区| 亚洲欧洲日本mm| 欧美中日韩一区二区三区| 99久久伊人| 欧美国产日韩二区| 看电影就来5566av视频在线播放| 欧美午夜电影在线播放| 欧美三级日本三级| 91视频在线看| 五月激情婷婷在线| 海角社区69精品视频| 欧美尤物一区| 欧美午夜在线播放| 日韩美女毛茸茸| free性欧美hd另类精品| 日韩精品亚洲视频| 91美女精品网站| 婷婷国产在线综合| 亚洲欧美综合7777色婷婷| 成人午夜伦理影院| 日韩在线不卡一区| 99在线|亚洲一区二区| 亚洲精品在线视频观看| 国产福利一区二区精品秒拍| 国产精品美女久久| zzzwww在线看片免费| 久久精品一本久久99精品| 天天色棕合合合合合合合| 欧美疯狂性受xxxxx喷水图片| 国产污视频在线观看| 中文字幕第一区| 亚洲国产精品无码久久久久高潮| 蜜臀精品久久久久久蜜臀| 97视频久久久| 亚洲欧美色图| 天堂资源在线亚洲视频| 第一区第二区在线| 国产日韩欧美综合| 手机在线理论片| 久久99精品国产99久久6尤物| 国产裸舞福利在线视频合集| 亚洲精品99久久久久中文字幕| 国产精品国产一区二区三区四区 | 99久久久国产精品| 小早川怜子一区二区三区| 日日摸夜夜添夜夜添精品视频| 中文精品无码中文字幕无码专区| 日韩精品dvd| 欧美最大成人综合网| 麻豆一区一区三区四区| 99高清视频有精品视频| 在线免费观看亚洲| 国产精品久久久久久久久久| 交100部在线观看| 欧美大片在线影院| a级毛片免费观看在线| 精品国产一区二区三区久久久狼| 国产日产精品久久久久久婷婷| 日韩av综合中文字幕| 亚洲精品久久久狠狠狠爱| 91精品欧美综合在线观看最新| 国产情侣免费视频| 一本大道久久a久久精品综合| 日韩欧美国产亚洲| 亚洲狠狠爱一区二区三区| 麻豆亚洲av熟女国产一区二| 亚洲欧美日韩久久| 色欲人妻综合网| 亚洲男同性视频| 欧美又粗又大又长| 亚洲国产三级在线| 免费观看一级视频| 午夜久久福利影院| 日日夜夜综合网| 色婷婷综合久久久久中文| 国产字幕在线观看| 欧美视频一区二区三区四区 | 日本不卡久久| 教室别恋欧美无删减版| 日韩欧美视频一区二区| 97视频热人人精品免费| 波多野结衣三级在线| 午夜日韩av| r级无码视频在线观看| 亚洲男人影院| 簧片在线免费看| 激情深爱一区二区| 国产一精品一aⅴ一免费| 99久久久免费精品国产一区二区| 男人天堂av电影| 亚洲国产精品av| 国产一二三区精品| 亚洲国产日产av| 9i精品福利一区二区三区| 欧美亚洲愉拍一区二区| 国产喷水福利在线视频| 精品久久久久久久久久久院品网 | 国产精品久久久久精| 欧美成人三级电影在线| 午夜国产在线视频| 中国china体内裑精亚洲片| av毛片在线免费| 国语自产在线不卡| 欧美一级大黄| 成人一区二区电影| 中文字幕久久精品一区二区 | 最新国产精品精品视频| 国产精品伊人日日| 日韩美女精品| 亚洲春色在线| 欧美色图首页| 白嫩少妇丰满一区二区| 久久99国产精品免费| 99热超碰在线| 久久久精品免费观看| 阿v天堂2014| 亚洲国产综合色| 久久精品偷拍视频| 精品乱人伦小说| 浮生影视网在线观看免费| 米奇精品一区二区三区在线观看| 交100部在线观看| 成人在线一区二区| 超碰97久久| 伊人久久青草| 一区二区日本视频| 日韩欧美中文在线视频| 久久综合狠狠综合| 丰满少妇高潮久久三区| 欧美日韩一区二区三区在线看| 亚洲男女视频在线观看| 亚洲欧洲在线视频| a√中文在线观看| 国产日本欧美一区二区三区| 久久久精品国产**网站| 一本色道婷婷久久欧美| 日韩一级在线| 丰满少妇一区二区三区专区 | 国精产品视频一二二区| 精品二区三区线观看| 国产精品久久婷婷| 亚洲三级免费看| 特黄毛片在线观看| 91九色极品视频| 香蕉国产精品| 黄色三级视频在线| 久久综合久久综合久久综合| 国产精品a成v人在线播放| 91麻豆精品国产91久久久久久| 视频一区 中文字幕| 欧美激情免费看| 欧美一级做一级爱a做片性| 日本一区不卡| 久久精品官网| 毛茸茸多毛bbb毛多视频| 性做久久久久久免费观看| japanese国产| 久久福利视频网| 四虎精品一区二区免费| 免费久久久一本精品久久区| 一本色道久久综合| 怡红院一区二区| 亚洲精品视频免费观看| 国产情侣av在线| www.亚洲一区| 91精品福利观看| 亚洲自拍偷拍二区| 日本vs亚洲vs韩国一区三区二区| 成人免费毛片糖心| 日韩欧美在线免费观看| 西西人体44www大胆无码| 97国产一区二区精品久久呦| av毛片精品| 欧美精品久久久久久久自慰| 国产精品亚洲第一| 久久久国产成人| 精品嫩草影院久久| 欧美四级在线| 国产精品免费一区二区三区观看| 欧美日韩蜜桃| 国产精品久久久久久在线观看| 亚洲第一在线综合网站| 免费看黄网站在线观看| 4p变态网欧美系列| 色婷婷精品视频| 亚洲国产精品毛片av不卡在线| 久久综合av免费| www.com亚洲| 日韩在线视频导航| 成人网av.com/| 国产真人做爰毛片视频直播| av在线不卡观看免费观看| 日本特黄一级片| 国产亚洲精品久久久久久| 69堂精品视频在线播放| 老司机av福利| 国产91高潮流白浆在线麻豆| 国产精品xxxx喷水欧美| 日韩精品免费视频| 亚洲1234区| 麻豆传媒网站在线观看| 懂色av一区二区三区免费观看 | 伊人成人免费视频| 亚洲国产成人精品视频| 免费在线观看污视频| 国产精品美女www| 激情欧美亚洲| 日韩精品电影一区二区| 日韩一区二区三区四区五区六区| av蜜臀在线| 性刺激综合网| 成人福利视频在线看| 亚洲 欧美 日韩 在线| 欧美xxxx18性欧美|