久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Spring cloud 限流的多種方式

瀏覽:3日期:2023-07-12 10:55:25
目錄一、實戰基于 Spring cloud Gateway 的限流二、基于阿里開源限流神器:Sentinel

在頻繁的網絡請求時,服務有時候也會受到很大的壓力,尤其是那種網絡攻擊,非法的。這樣的情形有時候需要作一些限制。例如:限制對方的請求,這種限制可以有幾個依據:請求IP、用戶唯一標識、請求的接口地址等等。

當前限流的方式也很多:Spring cloud 中在網關本身自帶限流的一些功能,基于 redis 來做的。同時,阿里也開源了一款:限流神器 Sentinel。今天我們主要圍繞這兩塊來實戰微服務的限流機制。

首先講 Spring cloud 原生的限流功能,因為限流可以是對每個服務進行限流,也可以對于網關統一作限流處理。

一、實戰基于 Spring cloud Gateway 的限流

pom.xml引入依賴:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis-reactive</artifactId> </dependency>

其基礎是基于redis,所以:

spring: application: name: gateway-service redis: #redis相關配置 database: 8 host: 10.12.15.5 port: 6379 password: 123456 #有密碼時設置 jedis: pool:max-active: 8max-idle: 8min-idle: 0 timeout: 10000ms

接下來需要注入限流策略的 bean:

@Primary @Bean(value = 'ipKeyResolver') KeyResolver ipKeyResolver() { return exchange -> Mono.just(exchange.getRequest().getRemoteAddress().getHostName()); //return exchange -> Mono.just(exchange.getRequest().getRemoteAddress().getAddress().getHostAddress()); //return exchange -> Mono.just(exchange.getRequest().getRemoteAddress().getAddress().getHostAddress()); } @Bean(value = 'apiKeyResolver') KeyResolver apiKeyResolver() { return exchange -> Mono.just(exchange.getRequest().getPath().value()); } @Bean(value = 'userKeyResolver') KeyResolver userKeyResolver() { return exchange -> Mono.just(exchange.getRequest().getQueryParams().getFirst('userId')); }

這里引入ipKeyResolver、apiKeyResolver、userKeyResolver三種策略,可以利用注解 @Primary 來決定其中一個被使用。

注入bean后,需要在配置中備用:

spring: application: name: gateway-service redis: #redis相關配置 database: 8 host: 10.12.15.5 port: 6379 password: 123456 #有密碼時設置 jedis: pool:max-active: 8max-idle: 8min-idle: 0 timeout: 10000ms

后面是限流的主要配置:

spring cloud: gateway: routes: #路由配置:參數為一個List - id: cas-server #唯一標識uri: lb://cas-server-service #轉發的地址,寫服務名稱order: -1predicates:- Path=/cas-server/** #判斷匹配條件,即地址帶有/ribbon/**的請求,會轉發至lb:cas-server-servicefilters:- StripPrefix=1 #去掉Path前綴,參數為1代表去掉/ribbon- name: RequestRateLimiter #基于redis的Gateway的自身限流 args: redis-rate-limiter.replenishRate: 1 # 允許用戶每秒處理多少個請求 redis-rate-limiter.burstCapacity: 3 # 令牌桶的容量,允許在一秒鐘內完成的最大請求數 key-resolver: '#{@ipKeyResolver}' #SPEL表達式取的對應的bean - id: admin-weburi: lb://admin-web-serviceorder: -1predicates:- Path=/admin-web/**filters:- StripPrefix=1- name: RequestRateLimiter args: redis-rate-limiter.replenishRate: 1 # 允許用戶每秒處理多少個請求 redis-rate-limiter.burstCapacity: 3 # 令牌桶的容量,允許在一秒鐘內完成的最大請求數 key-resolver: '#{@ipKeyResolver}' #SPEL表達式取的對應的bean

這里是在原有的路由基礎上加入 RequestRateLimiter限流過濾器,包括三個參數:

- name: RequestRateLimiter #基于redis的Gateway的自身限流 args: redis-rate-limiter.replenishRate: 3 #允許用戶每秒處理多少個請求 redis-rate-limiter.burstCapacity: 5 #令牌桶的容量,允許在一秒鐘內完成的最大請求數 key-resolver: '#{@ipKeyResolver}' #SPEL表達式取的對應的bean 其中 replenishRate,其含義表示允許每秒處理請求數; burstCapacity 表示允許在一秒內處理的最大請求數; key-resolver 這里采用請求 IP 限流,利用SPEL 表達式取對應的 bean

寫一個小腳本來壓測一下:

for i in $(seq 1 30000); do echo $(expr $i * 3 + 1);curl -i -H 'Accept: application/json' -H 'Authorization:bearer b064d95b-af3f-4053-a980-377c63ab3413' -X GET http://10.10.15.5:5556/order-service/api/order/getUserInfo;donefor i in $(seq 1 30000); do echo $(expr $i * 3 + 1);curl -i -H 'Accept: application/json' -H 'Authorization:bearer b064d95b-af3f-4053-a980-377c63ab3413' -X GET http://10.10.15.5:5556/admin-web/api/user/getCurrentUser;done

上面兩個腳本分別對2個服務進行壓測,打印結果:

{'message':{'status':200,'code':0,'message':'success'},'data':'{'message':{'status':200,'code':0,'message':'get user success'},'data':{'id':23,'isAdmin':1,'userId':'fbb18810-e980-428c-932f-848f3b9e7c84','userType':'super_admin','username':'admin','realName':'super_admin','password':'$2a$10$89AqlYKlnsTpNmWcCMvgluRFQ/6MLK1k/nkBpz.Lw6Exh.WMQFH6W','phone':null,'email':null,'createBy':'admin','createTime':1573119753172,'updateBy':'admin','updateTime':1573119753172,'loginTime':null,'expireTime':null,'remarks':'super_admin','delFlag':0,'loginType':null}}'}ex

在用測試工具Jmeter在同一秒內多次請求后:

HTTP/1.1 429 Too Many RequestsX-RateLimit-Remaining: 0X-RateLimit-Burst-Capacity: 3X-RateLimit-Replenish-Rate: 1content-length: 0expr: syntax errorHTTP/1.1 429 Too Many RequestsX-RateLimit-Remaining: 0X-RateLimit-Burst-Capacity: 3X-RateLimit-Replenish-Rate: 1content-length: 0expr: syntax error

從上面可以看到,執行后,會出現調用失敗的情況,狀態變為429 (Too Many Requests) 。

二、基于阿里開源限流神器:Sentinel

首先引入依賴:

<!--基于 阿里的sentinel作限流 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency>

在配置文件 application.yaml 文件中配置,需要新增2個配置:

spring: application: name: admin-web cloud: kubernetes: discovery:all-namespaces: true sentinel: eager: true #取消Sentinel控制臺的懶加載 transport:dashboard: 10.12.15.2:8080 #sentinel的Dashboard地址port: 8719 #是sentinel應用端和控制臺通信端口heartbeat-interval-ms: 500 #心跳時間 scg:fallback: #scg.fallback為sentinel限流后的響應配置 mode: response response-status: 455 response-body: 已被限流

其中,這里面配置了一個服務:spring.cloud.sentinel.transport.dashboard,配置的是 sentinel 的 Dashboard 地址。同時 spring.cloud.sentinel.transport.port 這個端口配置會在應用對應的機器上啟動一個Http Server,該 Server 會與 Sentinel 控制臺做交互。

Sentinel 默認為所有的 HTTP 服務提供限流埋點,上面配置完成后自動完成所有埋點,只需要控制配置限流規則即可。這里我們講下通過注解來給指定接口函數加上限流埋點,寫一個RestController,在接口函數上加上注解

@SentinelResource:@GetMapping(value = '/getToken')@SentinelResource('getToken')public Response<Object> getToken(Authentication authentication){ //Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); authentication.getCredentials(); OAuth2AuthenticationDetails details = (OAuth2AuthenticationDetails)authentication.getDetails(); String token = details.getTokenValue(); return Response.ok(200, 0, 'get token success', token);}

以上代碼部分完成了,接下來先安裝SentinelDashBoard,Sentinel DashBoard下載地址:github.com/alibaba/Sentinel/releases。

下載完成后,命令啟動:

java -jar sentinel-dashboard-1.6.2.jar

默認啟動端口為8080,訪問 IP:8080,就可以顯示 Sentinel 的登錄界面,用戶名與密碼均為sentinel。登錄 Dashboard 成功后,多次訪問接口'/getToken',可以在 Dashboard 看到相應數據,這里不展示了。接下來可以設置接口的限流功能,在 “+流控” 按鈕點擊打開設置界面,設置閾值類型為 qps,單機閾值為5。

瀏覽器重復請求 http://10.10.15.5:5556/admin-web/api/user/getToken 如果超過閥值就會出現如下界面信息:Blocked by Sentinel (flow limiting)

此時,就看到Sentinel 限流起作用了,可以加上 spring.cloud.sentinel.scg.fallback 為sentinel 限流后的響應配置,亦可自定義限流異常信息:

@GetMapping(value = '/getToken')@SentinelResource(value = 'getToken', blockHandler = 'handleSentinelException', blockHandlerClass = {MySentinelException.class}))public Response<Object> getToken(Authentication authentication){ //Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); authentication.getCredentials(); OAuth2AuthenticationDetails details = (OAuth2AuthenticationDetails)authentication.getDetails(); String token = details.getTokenValue(); return Response.ok(200, 0, 'get token success', token);}public class MySentinelException { public static Response<Object> handleSentinelException(BlockException e) {Map<String,Object> map=new HashMap<>();logger.info('Oops: ' + ex.getClass().getCanonicalName());return Response.ok(200, -8, '通過注解 @SentinelResource 配置限流埋點并自定義限流后的處理邏輯', null); }}

這里講下注解 @SentinelResource 包含以下屬性:

value:資源名稱,必需項; entryType:入口類型,可選項(默認為 EntryType.OUT); blockHandler:blockHandlerClass中對應的異常處理方法名,參數類型和返回值必須和原方法一致; blockHandlerClass:自定義限流邏輯處理類

Sentinel 限流邏輯處理完畢了,但每次服務重啟后,之前配置的限流規則就會被清空。因為是內存形式的規則對象。所以下面就講下用 Sentinel 的一個特性 ReadableDataSource 獲取文件、數據庫或者配置中心設置限流規則,目前支持 Apollo、Nacos、ZK 配置來管理。

首先回憶一下,一條限流規則主要由下面幾個因素組成:

resource:資源名,即限流規則的作用對象,即為注解 @SentinelResource 的value; count:限流閾值;grade:限流閾值類型(QPS 或并發線程數); limitApp:流控針對的調用來源,若為 default 則不區分調用來源; strategy:基于調用關系的限流策略; controlBehavior:流量控制效果(直接拒絕、排隊等待、勻速器模式)

理解了意思,接下來通過文件來配置:

#通過文件讀取限流規則spring.cloud.sentinel.datasource.ds1.file.file=classpath:flowrule.jsonspring.cloud.sentinel.datasource.ds1.file.data-type=jsonspring.cloud.sentinel.datasource.ds1.file.rule-type=flow

在resources新建一個文件,比如 flowrule.json 添加限流規則:

[ { 'resource': 'getToken', 'count': 1, 'controlBehavior': 0, 'grade': 1, 'limitApp': 'default', 'strategy': 0 }, { 'resource': 'resource', 'count': 1, 'controlBehavior': 0, 'grade': 1, 'limitApp': 'default', 'strategy': 0 }]

重新啟動項目,出現如下日志說明成功:

DataSource ds1-sentinel-file-datasource start to loadConfigDataSource ds1-sentinel-file-datasource load 2 FlowRule

如果采用 Nacos 作為配置獲取限流規則,可在文件中加如下配置:

spring: application: name: order-service cloud: nacos: config:server-addr: 10.10.15.5:8848 discovery:server-addr: 10.10.15.5:8848 sentinel: eager: true transport:dashboard: 10.10.15.5:8080 datasource:ds1: nacos: server-addr: 10.10.15.5:8848 dataId: ${spring.application.name}-flow-rules data-type: json rule-type: flow

到此這篇關于Spring cloud 限流的多種方式的文章就介紹到這了,更多相關Spring cloud 限流內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 久久国产精品99精国产 | 伊人一区二区三区 | 国产成人99久久亚洲综合精品 | 欧美日韩精品一区 | 国产精品成人在线 | 国产视频一二区 | 久久久久久久国产精品 | 久久黄网 | 国产色区| 黄色毛片免费看 | 成人不卡| 欧美一区二区三区视频 | 国产精品一区二区三区av | a级毛片免费高清视频 | 国产一区二区在线电影 | 久久成人精品 | 精品网站999www | 亚洲专区中文字幕 | 亚洲毛片 | 久久99久久久久久 | 爱爱爱av | 成人日韩av| 国产四区 | 久久激情网 | 国产剧情一区二区 | 亚洲一区免费视频 | 亚洲狠狠久久综合一区77777 | 青草视频在线免费观看 | 免费观看一区二区三区毛片 | 亚洲91精品 | 蜜月va乱码一区二区三区 | 99re在线观看 | 福利片一区二区 | 黑人巨大精品欧美一区二区三区 | 天堂精品 | 亚洲精品乱码久久久久久蜜桃不爽 | 亚洲最大免费视频 | 我看午夜视频 | 欧美黄色一区 | 日本色综合 | 中文字幕国产视频 | 精品无码久久久久国产 | 欧美色图另类 | 日韩在线视频观看 | 国产大学生援交视频在线观看 | www.亚洲区| 欧美二三区 | 欧美日韩中文字幕在线播放 | 久久精品一区二区三区四区毛片 | 国产美女啪啪 | 男人天堂视频网 | 久久高清片| 欧美激情一区二区三区 | 91综合网 | 国产精品免费av | 欧美日韩在线电影 | 国产高清在线 | 日韩视频精品在线 | 九九视频这里只有精品 | 国产va| 麻豆精品国产传媒 | 久久av网 | 亚洲伊人网站 | 人人干在线 | 成人国产一区二区 | 涩涩视频网站在线观看 | 激情婷婷综合 | 欧美日韩成人免费 | 一级a性色生活片毛片 | 一区二区三区小视频 | 亚洲国产91| av一区在线观看 | 精品久久久久久久久久 | 久久久久久久网站 | 日本在线一区二区三区 | 一级免费av | 欧美视频一区二区三区在线观看 | 国产精品视频专区 | 99精品国产在热久久 | 国产精品一二三区视频 | 精品一区二区在线观看 | 蜜桃在线视频 | 99久草| 国产网站视频 | 中文字幕在线看第二 | 暖暖日本在线视频 | 草久久av| 九九综合九九 | 亚洲综合在线视频 | 亚洲午夜免费视频 | 欧美经典一区 | 日韩视频网 | www.国产91 | 99热在线看 | 午夜国产精品视频 | 91香蕉| 色性av | 国产精品色一区二区三区 | www国产成人免费观看视频,深夜成人网 | 波多野结衣 一区二区三区 精品精品久久 | 欧美日产国产成人免费图片 | 中文字幕亚洲在线 | 日韩欧美国产精品综合嫩v 亚洲欧美日韩在线 | 特级丰满少妇一级aaaa爱毛片 | 成人午夜精品久久久久久久3d | 日韩精品一区二区三区在线观看 | 欧美日韩成人在线视频 | 国产精品日韩欧美一区二区三区 | 国产性猛交xxxx免费看久久 | 日本一区二区三区免费观看 | 午夜视频在线免费观看 | 国产精品久久久久久久久免费桃花 | 成年人在线看 | 国产精品国产三级国产aⅴ 羞羞的视频在线 | 免费成人在线观看视频 | 美女操网站 | 亚洲一区久久久 | 黄色av网站在线免费观看 | 欧美二区三区视频 | 欧美一区二区三区免费观看视频 | 中文字幕在线看第二 | 国产免费无遮挡 | 精品日韩一区二区三区 | 精品亚洲成a人片在线观看 国产高清在线 | 久久久精彩视频 | h视频在线观看免费 | 在线观看亚洲大片短视频 | 视频专区一区二区 | 国产成人亚洲精品 | 国产一区二区av在线 | 久久精品一 | 精品少妇一区二区三区在线播放 | 精品视频一区二区三区在线观看 | 91麻豆精品国产91久久久更新资源速度超快 | 色香阁99久久精品久久久 | 欧美天天 | 成人免费视频7777777 | 日日夜夜天天 | 亚洲女人天堂网 | 亚洲综合国产 | 亚洲视频1 | 一级a性色生活片久久毛片明星 | 午夜私人影院在线观看 | 久久久久亚洲精品 | 狠狠撸在线视频 | 欧美精品一区二区在线观看 | 欧美色成人 | 亚洲成人伊人 | 久久久xxx | 亚洲a网| 草久在线视频 | 一区二区三区四区日韩 | 国产中文字幕一区 | 亚州av| 国产精拍 | 欧美日韩国产综合视频 | 成人精品一区二区三区 | 欧美精品一级二级 | 日韩中文字幕无码一区二区三区 | 白浆在线 | 中文字幕第二十六页页 | 国产成人精品综合 | 日韩电影a | 中国妞xxxhd露脸偷拍视频 | 麻豆.蜜桃.91.天美入口 | 精品三级在线观看 | 精品视频在线播放 | 情一色一乱一欲一区二区 | 久福利| 欧美日韩中文字幕 | 成年人视频在线观看免费 | 免费观看欧美一级 | av三级在线观看 | 国产亚洲精品综合一区91555 | 91精品国产91久久久久久黑人 | 亚洲精品1区2区 | 亚洲精品国产9999久久久久 | 91影院在线观看 | 丝袜+亚洲+另类+欧美+变态 | 很黄很污的网站 | 国产一级片播放 | 久久男女 | 国产成人综合在线 | 91精品久久久久久久久久入口 | 精品免费| 成人三级视频网站 | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | 色综合二区 | 激情com| 亚洲一区二区三区四区五区中文 | 亚洲免费在线视频 | 久久99深爱久久99精品 | av网站免费 | 伊人热久久婷婷 | 日韩精品一区二区三区第95 | 四虎永久在线观看 | 久久精品国产99久久久 | 日韩超级大片免费看国产国产播放器 | 在线免费看a | 国产成人精品免高潮在线观看 | 亚洲欧洲无码一区二区三区 | 欧美日韩亚洲成人 | 亚洲免费视频在线观看 | 成人免费视频视频在线观看 免费 | 亚洲综合电影 | 午夜精品一区 | av午夜电影| 男人的天堂视频网站 | 日韩免费 | 99热.com| 在线观看免费黄色 | 大香一网 | 91原创视频在线观看 | 欧美一区二区三区 | 黄网站在线播放 | 精品久久久一区二区 | 亚洲精品午夜视频 | 精品久久久久久久久久久久久 | 国产精品99久久久久久动医院 | 天天艹综合 | 中文字幕日韩一区二区三区 | 国产99久久 | 欧美激情一区二区三区在线观看 | 久久精品一区二区三区四区 | av网站网址 | 亚洲精品一区二三区不卡 | 国产精品美女视频一区二区三区 | 欧美三级网 | 亚洲一二三区在线观看 | 欧美一区二区三区xxxx监狱 | 91久久极品 | 黄色国产 | 日本欧美国产 | 成人 在线 | 欧美日韩在线视频一区二区 | 美女在线国产 | 国产精品久久久久久久久久 | 欧美日韩在线一区 | 日韩精品一91爱爱 | www在线视频 | 成人免费淫片aa视频免费 | 男人天堂av网站 | 超碰国产一区 | 日日干天天操 | 日韩av一区在线 | 久草视频在线首页 | 男女黄色免费网站 | 欧美成年网站 | 91精品国产91久久久久久蜜臀 | 2019亚洲日韩新视频 | 在线看片福利 | 欧美精品在线一区 | 日韩城人免费 | 免费观看视频毛片 | 亚洲视频在线观看 | 国产一在线 | 成人v片 | 日韩在线精品视频 | 日韩成人在线网 | 国产精品久久777777 | 日韩精品一区二区三区 | www.欧美日韩 | 99热福利 | 国产一区精品视频 | 中文字幕 在线观看 | 亚洲免费视频大全 | 精品一区二区三区四区五区 | 影音先锋国产 | 久久久久久国产精品高清 | 久久精品一 | 野狼在线社区2017入口 | 国产在线91 | 国产伦精品一区二区三区四区视频 | 国产精品美女久久久久aⅴ国产馆 | 国产在线精品一区二区 | www.国产精品 | baoyu133. con永久免费视频 | 免费一区二区三区 | 国产精品亚洲一区二区三区在线 | 亚洲欧洲综合av | 国产精品久久一区二区三区 | 欧美色欧美亚洲另类七区 | 精品视频一区二区三区四区 | 一区二区三区日韩在线 | 成人精品视频 | 97国产精品久久久 | 日韩精品1区 | 91视频www| 亚洲第一天堂无码专区 | 九色porny丨国产精品 | 欧美日本国产 | 中国大陆高清aⅴ毛片 | 欧美一区二区另类 | 日本精品一区二区三区视频 | 精品一二区 | 亚洲成人av在线 | 亚洲精品一区在线观看 | 欧美一级成人欧美性视频播放 | 99精品全国免费观看视频软件 | 精品国产第一国产综合精品 | 国产高清精 | 久久国产精品一区二区 | 久久精品网 | 亚洲激情网站 | 国产亚洲一区二区三区在线 | 国产成人精品一区二区 | 影音先锋中文字幕在线 | 国产精品久久久久久久久久久新郎 | 日韩精品99久久久久中文字幕 | 午夜免费视频福利 | 亚洲成人免费在线 | 欧美视频区 | 日韩欧美在线中文字幕 | 成年免费视频 | www.99久| 国产成人精品午夜视频免费 | 日韩成人在线网站 | 一区久久 | 99草视频| 成人欧美| 91一区二区 | a在线观看免费视频 | 伊人网网站 | 亚洲精品www久久久 www.蜜桃av | av网站大全免费 | 欧美视频三区 | 国产精品一区免费在线观看 | 草比网站 | 91精品久久久久久9s密挑 | 杨门女将寡妇一级裸片看 | 狠狠草视频| 国产一区二区三区在线免费观看 | 91精品国产92 | av色资源| 韩国一区二区视频 | 91视频www| 久久av网 | 日韩在线视频观看 | 在线看免费观看日本 | 伊人网站在线 | 日干夜操 | 亚洲午夜av | 精品久久久久一区二区国产 | 91免费视频| 国产日韩在线播放 | 2020亚洲视频 | 黄网站免费在线 | 人人九九精 | 亚洲91精品 | 91视频网址 | 91精品一区二区三区久久久久久 | 久久久久无码国产精品一区 | 九九热精品视频在线观看 | 国产午夜精品一区二区三区嫩草 | 亚洲一区 日韩精品 中文字幕 | 亚洲日韩欧美一区二区在线 | 99久久婷婷国产综合精品电影 | 天天久久 | 久久成人一区 | 亚洲精品一区二区三区蜜桃久 | 亚洲啊v| 91精品国产91久久久久久最新 | 欧美一区永久视频免费观看 | 日韩一区二区三区精品 | 婷婷午夜激情 | 午夜欧美一区二区三区在线播放 | 五月婷婷综合激情 | 日韩精品免费在线观看 | 日日摸日日爽 | 国产情侣免费视频 | 国产精品不卡视频 | 欧美一区精品 | 曰本人一级毛片免费完整视频 | 国产三级精品在线 | 国产欧美一区二区精品婷 | 午夜影院色 | 日韩一区在线视频 | 久久aⅴ国产欧美74aaa | 久久久久久久久99精品 | 私人毛片免费高清视频 | 精品一区二区三区三区 | 欧美日韩亚 | 夜夜超碰 | 91免费观看 | 国产日韩欧美在线 | 国产一区二区在线免费观看 | 午夜视频 | 亚洲精品一区久久久久久 | 久久人人爽人人爽人人片av高清 | 在线观看免费国产 | 日韩伦理一区二区 | 国产精品资源在线 | caoporn国产精品免费公开 | 国产精品久久久久久久久 | 欧美日韩在线观看一区二区三区 | 国产亚洲精品久久久久动 | 日本精品一区二区三区在线观看视频 | 中文字幕一区二区在线观看 | 亚洲一本 | 欧美暴操| 日韩精品一区二区三区中文字幕 | 色婷婷久久 | 色婷婷一区二区三区四区 | 亚洲精品一区二区三区在线播放 | 欧美日韩在线看 | 午夜男人天堂 | 小川阿佐美88av在线播放 | 成人爽a毛片一区二区免费 美女高潮久久久 | 日本三级黄色录像 | 欧美一区在线看 | 国产一区二区三区欧美 | 亚洲免费在线观看视频 | 免费看片一区二区三区 | 国产精品久久久久9999 | 麻豆资源 | 亚洲一区二区在线视频 | 在线久草| 国产一级一级毛片女人精品 | 亚洲精品视频在线看 | 欧美一级片在线观看 | 日韩午夜av| 女同videos另类 | av中文字幕在线播放 | 国产一区二区电影 | 国产小视频在线观看 | 亚洲一区二区免费看 | 精品一区二区久久久久久久网站 | 国产精品欧美日韩 | 国产精品亚洲第一区在线暖暖韩国 | 日韩av高清在线 | 成人亚洲精品久久久久软件 | 在线视频亚洲 | 久久久国产精品入口麻豆 | 欧美精品成人一区二区三区四区 | 国产一区 欧美 | 欧美视频二区 | 欧美精品亚洲精品 | 国产精品久久久久久久久免费桃花 | 精品日韩av | 久久综合久久综合久久综合 | 国产福利在线观看 | a免费在线 | 欧美一级片毛片免费观看视频 | 成人午夜sm精品久久久久久久 | 国产精品一区二区久久 | 亚洲一区二区精品 | 嫩草影院网站入口 | 欧美专区在线观看 | 中文字幕久久精品 | 精品久久一区二区三区 | 久久福利 | 国产91av视频在线观看 | 一区二区欧美视频 | 影音先锋中文字幕一区 | 成人在线观看免费视频 | 一级毛片在线 | 欧美成人久久 | 日韩成人在线一区 | 国产一级一级国产 | 亚洲成人一区二区三区 | 国产精品一区二区三区在线 | 华丽的挑战在线观看 | 在线a级毛片 | 国产成人综合av | 欧美aⅴ| 91精品国产91久久久久久不卡 | 91精品国产乱码久久久久久久久 | 国产99久久精品一区二区永久免费 | 嫩草影院在线观看91麻豆 | 国产人妖一区二区 | 欧美怡红院视频一区二区三区 | 成人在线影视 | 久久精品亚洲精品国产欧美kt∨ | 日韩三级在线 | 天天干,夜夜操 | 麻豆91视频 | 国产一级黄 | 天天拍天天操 | 狠狠操精品视频 | 亚洲第一视频 | 日韩亚洲 | 精品一区二区三区蜜桃 | 综合色婷婷一区二区亚洲欧美国产 | 亚洲三级免费观看 | 一区二区三区免费在线观看 | 色婷婷综合久久久中文字幕 | 亚洲一区二区三区久久 | 国产精品毛片一区二区三区 | 91亚洲国产成人久久精品网站 | 在线成人国产 | 欧美一级精品片在线看 | 亚洲精品二区 | 国产精品成av人在线视午夜片 | 国产精品久久久久久久久岛 | 国产伦精品一区二区三区四区视频 | 日韩视频在线观看 | 国产一区二区在线播放 | 国产视频久久久久久 | 日韩视频在线免费观看 | 国产精品视频一区二区三区 | av网址在线播放 | 91久久综合| 一级毛片免费网站 | 中文字幕2021 | 亚洲一二三 | 先锋资源中文字幕 | 亚洲一区二区日韩 | 精品在线播放 | 成人精品鲁一区一区二区 | 国产欧精精久久久久久久 | 免费观看羞羞视频网站 | 免费观看毛片 | 在线色网站 | 日本一区二区不卡 | 久在线视频 | bxbx成人精品一区二区三区 | 国产精品免费观看 | 国产精品久久久久久久久久 | 亚洲视频综合 | 日韩在线成人 | av中文字幕在线 | 99热国| 婷婷色在线 | 日韩精品在线免费观看 | 在线免费观看色视频 | 欧美在线a | 在线观看亚洲视频 | 天天综合网7799精品 | 黄色日本视频 | 天天久| 亚洲成a人 | 久久国产精品一区 | 在线一区| 国产日韩精品视频 | 欧美国产综合 | 亚洲精品国产9999久久久久 | 三级黄色在线视频 | 91精品国产综合久久久久久丝袜 | 亚洲一区视频在线 | 久久精品小视频 | 国产欧美精品一区二区三区 | www午夜 | 在线精品观看 | 99精品欧美一区二区三区综合在线 | 亚洲小视频网站 | 精品一二三区 | 日本69视频 | 久久精选视频 | 青青草av | 日本一区二区三区免费观看 | 久久美女 | 国产福利91精品一区二区 | 中文字幕99 | 午夜精品久久久久久久星辰影院 | 在线观看日韩av | 亚洲综合福利视频 | 国产精品久久久久毛片软件 | 日韩欧美三区 | 看真人视频a级毛片 | 欧美在线一区二区三区 | www国产亚洲精品久久网站 | 99这里只有精品视频 | 区一区二区三在线观看 | 精品久久久久久久久久久 | 91香蕉视频 | 女男羞羞视频网站免费 | 亚洲成人伦理 | 亚洲 欧美 另类 综合 偷拍 | 99视频精品 | 午夜老湿影院 | 精品亚洲成人 | 最新国产在线 | 国产一级片 | 在线欧美日韩 | 在线播放91 | 欧美日韩亚洲一区 | 不卡一区二区三区四区 | 天堂在线中文字幕 | 欧美一区二区三区在线观看视频 | 国产永久免费 | 91精品国产色综合久久 | 国产视频自拍一区 | www.91av在线 | 夜夜操天天操 | 综合激情av | 黄色一级片视频播放 | 欧美国产日韩在线观看 | 欧美一区二区三区 | 欧美一区二区免费 | 麻豆精品国产91久久久久久 | 久久亚洲天堂 | 久久免费99精品久久久久久 | 黑人巨大精品欧美一区免费视频 | 成人欧美一区二区三区 | 四虎成人在线视频 | 中文字幕日韩欧美一区二区三区 | 国产成人精品免费视频大全最热 | 国产精品久久久久久久福利院 | 中文字幕国产一区 | 91久久精品一区二区二区 | 国产情侣免费视频 | 成人激情视频在线观看 | 免费毛片在线 | 理论片一区 | 国产羞羞视频在线观看 | 久热av中文字幕 | 国产一级做a爰片在线看免费 | 一区二区免费看 | 欧美三级在线视频 | 羞羞视频在线观免费观看 | 亚洲国产精品一区二区久久 | 成人久久18免费观看 | 国内精品视频一区二区三区八戒 | 夜夜天天操 | 午夜精品久久久久久久久久久久 |