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

Spring Cloud Gateway 整合阿里 Sentinel 網關限流實戰

開發 前端
Spring Cloud Gateway本身自帶的限流實現,過濾器是RequestRateLimiterGatewayFilterFactory,不過這種上不了臺面的就不再介紹了,有興趣的可以實現下。

[[433195]]

前一篇文章介紹了Spring Cloud Gateway的一些基礎知識點,今天陳某就來嘮一嘮網關層面如何做限流?

文章目錄如下:

網關如何限流?

Spring Cloud Gateway本身自帶的限流實現,過濾器是RequestRateLimiterGatewayFilterFactory,不過這種上不了臺面的就不再介紹了,有興趣的可以實現下。

今天的重點是集成阿里的Sentinel實現網關限流,sentinel有不懂的可以看陳某的文章:阿里限流神器Sentinel奪命連環 17 問?

從1.6.0版本開始,Sentinel提供了SpringCloud Gateway的適配模塊,可以提供兩種資源維度的限流:

  • route維度:即在配置文件中配置的路由條目,資源名為對應的routeId,這種屬于粗粒度的限流,一般是對某個微服務進行限流。
  • 自定義API維度:用戶可以利用Sentinel提供的API來自定義一些API分組,這種屬于細粒度的限流,針對某一類的uri進行匹配限流,可以跨多個微服務。

sentinel官方文檔:https://github.com/alibaba/Sentinel/wiki/%E7%BD%91%E5%85%B3%E9%99%90%E6%B5%81

Spring Cloud Gateway集成Sentinel實現很簡單,這就是阿里的魅力,提供簡單、易操作的工具,讓程序員專注于業務。

新建項目

新建一個gateway-sentinel9026模塊,添加如下依賴:

  1. <!--nacos注冊中心--> 
  2.     <dependency> 
  3.       <groupId>com.alibaba.cloud</groupId> 
  4.       <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> 
  5.     </dependency> 
  6.  
  7.     <!--spring cloud gateway--> 
  8.     <dependency> 
  9.       <groupId>org.springframework.cloud</groupId> 
  10.       <artifactId>spring-cloud-starter-gateway</artifactId> 
  11.     </dependency> 
  12.  
  13.     <!--    spring cloud gateway整合sentinel的依賴--> 
  14.     <dependency> 
  15.       <groupId>com.alibaba.cloud</groupId> 
  16.       <artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId> 
  17.     </dependency> 
  18.  
  19.     <!--    sentinel的依賴--> 
  20.     <dependency> 
  21.       <groupId>com.alibaba.cloud</groupId> 
  22.       <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> 
  23.     </dependency> 

注意:這依然是一個網關服務,不要添加WEB的依賴

配置文件

配置文件中主要指定以下三種配置:

  • nacos的地址
  • sentinel控制臺的地址
  • 網關路由的配置

配置如下:

  1. spring: 
  2.   cloud: 
  3.     ## 整合sentinel,配置sentinel控制臺的地址 
  4.     sentinel: 
  5.       transport: 
  6.         ## 指定控制臺的地址,默認端口8080 
  7.         dashboard: localhost:8080 
  8.     nacos: 
  9.       ## 注冊中心配置 
  10.       discovery: 
  11.         # nacos的服務地址,nacos-server中IP地址:端口號 
  12.         server-addr: 127.0.0.1:8848 
  13.     gateway: 
  14.       ## 路由 
  15.       routes: 
  16.         ## id只要唯一即可,名稱任意 
  17.         - id: gateway-provider 
  18.           uri: lb://gateway-provider 
  19.           ## 配置斷言 
  20.           predicates: 
  21.             ## Path Route Predicate Factory斷言,滿足/gateway/provider/**這個請求路徑的都會被路由到http://localhost:9024這個uri中 
  22.             - Path=/gateway/provider/** 

上述配置中設置了一個路由gateway-provider,只要請求路徑滿足/gateway/provider/**都會被路由到gateway-provider這個服務中。

限流配置

經過上述兩個步驟其實已經整合好了Sentinel,此時訪問一下接口:http://localhost:9026/gateway/provider/port

然后在sentinel控制臺可以看到已經被監控了,監控的路由是gateway-provider,如下圖:

此時我們可以為其新增一個route維度的限流,如下圖:

上圖中對gateway-provider這個路由做出了限流,QPS閾值為1。

此時快速訪問:http://localhost:9026/gateway/provider/port,看到已經被限流了,如下圖:

以上route維度的限流已經配置成功,小伙伴可以自己照著上述步驟嘗試一下。

API分組限流也很簡單,首先需要定義一個分組,API管理-> 新增API分組,如下圖:

匹配模式選擇了精確匹配(還有前綴匹配,正則匹配),因此只有這個uri:http://xxxx/gateway/provider/port會被限流。

第二步需要對這個分組添加流控規則,流控規則->新增網關流控,如下圖:

API名稱那里選擇對應的分組即可,新增之后,限流規則就生效了。

陳某不再測試了,小伙伴自己動手測試一下吧...............

陳某這里只是簡單的配置一下,至于限流規則持久化一些內容請看陳某的Sentinel文章,這里就不再過多的介紹了。

如何自定義限流異常信息?

從上面的演示中可以看到默認的異常返回信息是:"Block.........",這種肯定是客戶端不能接受的,因此需要定制自己的異常返回信息。

下面介紹兩種不同的方式定制異常返回信息,開發中自己選擇其中一種。

直接配置文件中定制

開發者可以直接在配置文件中直接修改返回信息,配置如下:

  1. spring: 
  2.   cloud: 
  3.     ## 整合sentinel,配置sentinel控制臺的地址 
  4.     sentinel: 
  5.       #配置限流之后,響應內容 
  6.       scg: 
  7.         fallback: 
  8.           ## 兩種模式,一種是response返回文字提示信息, 
  9.           ## 一種是redirect,重定向跳轉,需要同時配置redirect(跳轉的uri) 
  10.           mode: response 
  11.           ## 響應的狀態 
  12.           response-status: 200 
  13.           ## 響應體 
  14.           response-body: '{"code": 200,"message": "請求失敗,稍后重試!"}' 

上述配置中mode配置的是response,一旦被限流了,將會返回JSON串。

  1.     "code": 200, 
  2.     "message""請求失敗,稍后重試!" 

重定向的配置如下:

  1. spring: 
  2.   cloud: 
  3.     ## 整合sentinel,配置sentinel控制臺的地址 
  4.     sentinel: 
  5.       #配置限流之后,響應內容 
  6.       scg: 
  7.         fallback: 
  8.           ## 兩種模式,一種是response返回文字提示信息,一種是redirect,重定向跳轉,需要同時配置redirect(跳轉的uri) 
  9.           mode: redirect 
  10.           ## 跳轉的URL 
  11.           redirect: http://www.baidu.com 

一旦被限流,將會直接跳轉到:http://www.baidu.com

編碼定制

這種就不太靈活了,通過硬編碼的方式,完整代碼如下:

  1. @Configuration 
  2. public class GatewayConfig { 
  3.     /** 
  4.      * 自定義限流處理器 
  5.      */ 
  6.     @PostConstruct 
  7.     public void initBlockHandlers() { 
  8.         BlockRequestHandler blockHandler = (serverWebExchange, throwable) -> { 
  9.             Map map = new HashMap(); 
  10.             map.put("code",200); 
  11.             map.put("message","請求失敗,稍后重試!"); 
  12.             return ServerResponse.status(HttpStatus.OK) 
  13.                     .contentType(MediaType.APPLICATION_JSON_UTF8) 
  14.                     .body(BodyInserters.fromObject(map)); 
  15.         }; 
  16.         GatewayCallbackManager.setBlockHandler(blockHandler); 
  17.     } 

兩種方式介紹完了,根據業務需求自己選擇適合的方式,當然陳某更喜歡第一種,理由:約定>配置>編碼。

網關限流了,服務就安全了嗎?

很多人認為只要網關層面做了限流,躲在身后的服務就可以高枕無憂了,你是不是也有這種想法?

很顯然這種想法是錯誤的,復雜的微服務架構一個獨立服務不僅僅被一方調用,往往是多方調用,如下圖:

商品服務不僅僅被網關層調用,還被內部訂單服務調用,這時候僅僅在網關層限流,那么商品服務還安全嗎?

一旦大量的請求訂單服務,比如大促秒殺,商品服務不做限流會被瞬間擊垮。

因此需要根據公司業務場景對自己負責的服務也要進行限流兜底,最常見的方案:網關層集群限流+內部服務的單機限流兜底,這樣才能保證不被流量沖垮。

總結 

文章介紹了Spring Cloud Gateway整合Sentinel對網關層進行限流,以及關于限流的一些思考。

責任編輯:武曉燕 來源: 碼猿技術專欄
相關推薦

2021-05-21 08:30:26

Sentinel GateWay 微服務

2024-09-06 13:53:28

2022-04-11 07:34:46

OAuth2UAA節點

2024-04-03 08:08:15

謂詞網關開發

2022-05-12 08:21:13

項目網關模塊

2021-03-16 08:31:59

微服務Sentinel雪崩效應

2023-04-26 09:16:17

2025-05-27 02:55:00

Spring微服務

2022-05-03 19:38:15

限流微服務Sentinel

2023-11-09 08:31:56

Spring微服務網關

2023-04-14 09:01:25

2023-02-13 08:10:40

Gateway網關Spring

2023-09-15 08:18:49

cookie網關代理

2022-01-07 07:29:08

Rbac權限模型

2018-12-19 15:05:55

Spring Clou網關 Gateway

2023-03-08 09:03:55

2022-05-19 10:52:20

云原生網關技術

2025-11-03 04:15:00

2023-09-12 07:19:06

微服務網關架構

2024-12-27 08:43:17

點贊
收藏

51CTO技術棧公眾號

欧美无乱码久久久免费午夜一区 | 欧美性受xxx黑人xyx性爽| 欧美极品在线观看| 欧美日韩国产小视频在线观看| 国产亚洲精品久久久久久久| 精品电影在线| 国产黄色成人av| 日本精品免费观看| 免费在线视频观看| 欧美日中文字幕| 精品国产百合女同互慰| 亚洲 激情 在线| 国产777精品精品热热热一区二区| 中文字幕av一区 二区| 国产精品一区二区a| 在线免费看毛片| 国产视频一区在线观看一区免费| 久久精品91久久久久久再现| 中文字幕高清视频| 日韩在线视频一区二区三区| 欧美日韩一卡二卡| 成年人视频观看| 影音先锋男人在线资源| 中文字幕成人在线观看| 久久综合九九| 日韩在线视频第一页| 极品少妇一区二区| 日本精品视频在线播放| 国产成人在线免费观看视频| 一级欧洲+日本+国产| 一区二区国产精品视频| 精品无码国产一区二区三区51安| 韩国三级大全久久网站| 欧美午夜理伦三级在线观看| 国产成人a亚洲精v品无码| 午夜激情在线| 综合在线观看色| 亚洲一区二区三区加勒比 | 男人添女荫道口图片| 粗大黑人巨茎大战欧美成人| 国产精品免费视频观看| 欧美日韩一区在线播放| 四虎影视在线播放| 成人av手机在线观看| **亚洲第一综合导航网站| 一道本在线视频| 精品在线播放免费| 国产欧美一区二区三区四区| 中国a一片一级一片| 久久中文字幕一区二区三区| 日韩av不卡电影| 久久夜靖品2区| 久久成人精品| 国产精品成人一区| 中文字幕第三页| 久久aⅴ国产欧美74aaa| 成人自拍性视频| 国产精品视频一二区| 狠狠色综合日日| 2022国产精品| 乱色精品无码一区二区国产盗| 东方aⅴ免费观看久久av| 国产91色在线|亚洲| 欧美一区二不卡视频| zzijzzij亚洲日本少妇熟睡| 精品在线观看一区二区| 国产精品秘入口| 国产精品女人毛片| 超级碰在线观看| 91视频欧美| 色综合天天做天天爱| 久久久国产欧美| 精品久久国产一区| 亚洲国产欧美精品| 欧美做受高潮6| 久久久久久久久国产一区| 欧美日本亚洲视频| 久久久久久久极品| 免费在线观看一区二区三区| 92国产精品视频| 天堂网在线资源| 国产亚洲欧洲一区高清在线观看| 亚洲一区影院| av电影院在线看| 色欧美乱欧美15图片| 中文字幕亚洲乱码| 国产精品自在| 这里只有精品在线观看| 久久久久黄色片| 久久人人精品| 91在线精品播放| 亚洲欧美日韩综合在线| 中文字幕在线观看不卡| 蜜桃传媒一区二区三区| 78精品国产综合久久香蕉| 欧美成人bangbros| 99精品欧美一区二区| 午夜欧美视频| 国产成人在线一区| 成人av手机在线| 亚洲国产成人在线| 很污的网站在线观看| 福利精品一区| 亚洲精品美女在线观看播放| 黄色录像一级片| 麻豆九一精品爱看视频在线观看免费| 成人欧美一区二区三区黑人| 毛片免费在线播放| 亚洲午夜免费电影| 亚洲欧美自偷自拍另类| 日韩高清一级| 九九热精品视频| 中文字幕永久免费视频| 91色婷婷久久久久合中文| 偷拍盗摄高潮叫床对白清晰| 久久夜夜操妹子| 亚洲国产日韩精品在线| 欧美精品99久久久| 久久99国产精品麻豆| 欧美精品免费观看二区| 91色在线看| 精品捆绑美女sm三区| 国产一区二区三区四区在线| 国产精品乱看| 成人免费在线看片| 超碰免费公开在线| 欧美视频一区二区三区| 深爱五月激情网| 亚洲第一黄色| 国产91精品一区二区绿帽| caopo在线| 91麻豆精品国产91久久久久| 99精品全国免费观看| 视频一区在线播放| 欧美日韩一区在线视频| 在线手机中文字幕| 亚洲国产精品va在线看黑人动漫 | 免费在线亚洲| 精品欧美日韩| 午夜伦理福利在线| 亚洲精品理论电影| 成人精品在线看| 26uuu精品一区二区三区四区在线| 国产玉足脚交久久欧美| 国产精品对白| 97在线看福利| 日本a一级在线免费播放| 欧美视频在线观看 亚洲欧| 亚洲av成人精品一区二区三区| 伊人成年综合电影网| 国产伦精品一区二区三区照片| 污污的网站在线看| 亚洲成人久久一区| 青青青国产在线| 久久久久久久久伊人| wwwwxxxx日韩| 无需播放器亚洲| 99蜜桃在线观看免费视频网站| 四虎影视国产在线视频| 亚洲国产精品推荐| 黄瓜视频在线免费观看| 国产欧美日韩在线观看| 色播五月综合网| 伊人久久大香线蕉综合四虎小说| 2022国产精品| 高潮在线视频| 亚洲最新av在线| 国产精品无码久久av| 一区二区三区中文免费| 朝桐光av一区二区三区| 久久在线91| 国产a级片免费看| 91久久精品无嫩草影院| 97视频网站入口| 风间由美一区| 日韩一级黄色片| 日韩黄色a级片| 国产日韩精品一区二区三区在线| 992kp免费看片| 最新日韩欧美| 亚洲丰满在线| 国产精品chinese在线观看| 日韩美女视频免费看| 秋霞成人影院| 亚洲福利在线观看| 中日韩黄色大片| 国产精品初高中害羞小美女文| 精品人妻一区二区三区日产| 日韩和欧美一区二区| 中文精品无码中文字幕无码专区 | 亚洲一区二区av| 孩xxxx性bbbb欧美| 99re热久久这里只有精品34| 精品久久久久久综合日本欧美| www五月天com| 亚洲国产一区二区视频| 精品视频第一页| 91丨九色丨蝌蚪富婆spa| 亚洲一区二区三区观看| 久久精品卡一| 日本人体一区二区| 99久久国产综合精品成人影院| 精品乱码一区| 久久wwww| 成人免费看黄网站| 欧美极品免费| 992tv在线成人免费观看| 免费在线看a| 亚洲欧美日韩视频一区| 亚洲免费一级片| 欧美一区二区三区婷婷月色 | 免费欧美日韩国产三级电影| 日韩欧美一区二| 欧美在线看片| 一区二区三区四区国产| 亚洲尤物av| 精品久久中出| 精品视频在线你懂得| 97人人香蕉| 国产亚洲字幕| 国产美女精品免费电影| 欧美亚洲大片| 日本一欧美一欧美一亚洲视频| brazzers在线观看| 欧美激情精品久久久| 超碰在线caoporen| 久久精品视频一| 欧美成人视屏| 中文字幕亚洲专区| www亚洲人| 中文字幕日韩精品在线观看| 九色在线观看| 亚洲视频在线免费看| 天堂影院在线| 亚洲精品福利在线观看| 好吊视频一二三区| 亚洲第一网站免费视频| 秋霞av鲁丝片一区二区| 欧美va亚洲va国产综合| 亚洲国产精品一| 精品国产凹凸成av人导航| www夜片内射视频日韩精品成人| 91精品国产一区二区人妖| 99国产精品久久久久久久成人| 欧美精品视频www在线观看| 91禁在线观看| 欧美一区二区福利视频| www.av导航| 亚洲电影av在线| 日韩亚洲视频在线观看| 亚洲人线精品午夜| 国产小视频在线| 中文日韩电影网站| 国产黄a三级三级三级av在线看 | 强开小嫩苞一区二区三区网站| 亚洲字幕久久| 无码av天堂一区二区三区| 亚洲久色影视| 青青草原成人网| 日韩av网站免费在线| 男人的天堂最新网址| 国产乱码精品1区2区3区| 国产一级免费片| 久久人人97超碰com| 日韩女同一区二区三区| 亚洲视频精选在线| 国产网友自拍视频| 一本色道久久综合亚洲91| 中文字幕理论片| 日韩一区二区三区高清免费看看 | 亚洲精品在线播放| 狠狠综合久久av| 精品日韩一区| 成人国产在线看| 国产精品试看| 国产精品嫩草影院8vv8| 不卡视频一二三四| www..com.cn蕾丝视频在线观看免费版| 中文字幕亚洲综合久久菠萝蜜| 欧美高清视频一区二区三区| 富二代精品短视频| 国产精品永久久久久久久久久| 亚洲国产黄色片| 中文字幕在线播放| 午夜精品蜜臀一区二区三区免费| 精品欧美日韩精品| 国产精品久久久久久久久婷婷 | 国产精品三级av在线播放| 亚洲国产成人精品综合99| 欧美性jizz18性欧美| 国产乱淫av片免费| 亚洲老司机av| 肉体视频在线| 国产精品aaa| 六月丁香久久丫| 色噜噜一区二区| 在线看片一区| 一级片黄色免费| 国产丝袜在线精品| 国产一二三四在线| 欧美挠脚心视频网站| 亚洲av成人无码网天堂| 欧美超级乱淫片喷水| 日韩精品三区| 精品国产一区二区三区日日嗨 | 国产精品污网站| 国产精品第108页| 欧美喷潮久久久xxxxx| 日本一区二区三区在线观看视频| 久久97久久97精品免视看| 亚洲精品555| 精品国产乱码久久久久软件| 欧美精品综合| 免费在线观看污网站| 国产情人综合久久777777| 狠狠躁夜夜躁人人爽天天高潮| 欧美一二三区精品| 九色porny在线| 国产欧美婷婷中文| 大片网站久久| av视屏在线播放| 久久久久久久网| 欧美在线观看不卡| 亚洲成人免费网站| 天天色天天射天天综合网| 成人做爽爽免费视频| 精品久久成人| wwwwww.色| 中文欧美字幕免费| 中文字幕日本视频| 国产性猛交xxxx免费看久久| 中文字幕在线中文字幕在线中三区| 国产a一区二区| 1024日韩| 久久久久9999| 欧美特黄级在线| 欧美高清电影在线| 国产成+人+综合+亚洲欧美丁香花| 欧美理伦片在线播放| 亚洲 高清 成人 动漫| 91一区二区三区在线播放| 美日韩一二三区| 亚洲男子天堂网| 亚洲最大成人| 欧美二区三区| 日韩电影免费在线看| 免费看91的网站| 欧美日韩精品福利| 精品黄色免费中文电影在线播放| 成人黄色激情网| 亚洲成人免费| 国产伦精品一区二区三区88av| 性做久久久久久久久| 四虎在线观看| 国产精品久久久久久久久久99| 99久久激情| 真实乱偷全部视频| 午夜久久电影网| 久草在线免费福利资源| 国产精品视频一区二区高潮| 久久国产小视频| 超碰中文字幕在线观看| 亚洲成人自拍偷拍| 国产一级免费在线观看| 成人疯狂猛交xxx| 激情欧美日韩| 欧美18—19性高清hd4k| 制服视频三区第一页精品| 黄页网站大全在线免费观看| 久久波多野结衣| 蜜桃视频在线观看一区| 国模无码国产精品视频| 日韩精品亚洲元码| 久久婷婷五月综合色丁香| 国产a级黄色大片| 久久久久久久久久看片| 国产又大又长又粗| 97视频国产在线| 久久精品国产99久久| 韩国三级视频在线观看| 欧美伊人久久久久久久久影院 | 国产伦理在线观看| 色噜噜夜夜夜综合网| 超碰在线网址| 日本一区免费看| 国产成人在线影院| 精品成人无码久久久久久| 欧美乱妇40p| 国产aⅴ精品一区二区三区久久| 北条麻妃亚洲一区| 一本色道综合亚洲| 啪啪免费视频一区| 亚洲一区综合| 26uuu久久天堂性欧美| 成人黄色免费视频| 国产精品视频网站| 小嫩嫩精品导航| 久久精品www人人爽人人| 夜夜躁日日躁狠狠久久88av| 精品少妇3p|