亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

Spring Cloud Gateway不同頻率限流的解決方案(每分鐘,每小時,每天)

瀏覽:101日期:2023-08-09 14:34:53

SpringCloud Gateway 簡介

SpringCloud Gateway 是 Spring Cloud 的一個全新項目,該項目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技術開發的網關,它旨在為微服務架構提供一種簡單有效的統一的 API 路由管理方式。

SpringCloud Gateway 作為 Spring Cloud 生態系統中的網關,目標是替代 Zuul,在Spring Cloud 2.0以上版本中,沒有對新版本的Zuul 2.0以上最新高性能版本進行集成,仍然還是使用的Zuul 2.0之前的非Reactor模式的老版本。而為了提升網關的性能,SpringCloud Gateway是基于WebFlux框架實現的,而WebFlux框架底層則使用了高性能的Reactor模式通信框架Netty。

Spring Cloud Gateway 的目標,不僅提供統一的路由方式,并且基于 Filter 鏈的方式提供了網關基本的功能,例如:安全,監控/指標,和限流。

提前聲明:Spring Cloud Gateway 底層使用了高性能的通信框架Netty。

SpringCloud Gateway 特征

SpringCloud官方,對SpringCloud Gateway 特征介紹如下:

(1)基于 Spring Framework 5,Project Reactor 和 Spring Boot 2.0

(2)集成 Hystrix 斷路器

(3)集成 Spring Cloud DiscoveryClient

(4)Predicates 和 Filters 作用于特定路由,易于編寫的 Predicates 和 Filters

(5)具備一些網關的高級功能:動態路由、限流、路徑重寫

從以上的特征來說,和Zuul的特征差別不大。SpringCloud Gateway和Zuul主要的區別,還是在底層的通信框架上。

簡單說明一下上文中的三個術語:

(1)Filter(過濾器):

和Zuul的過濾器在概念上類似,可以使用它攔截和修改請求,并且對上游的響應,進行二次處理。過濾器為org.springframework.cloud.gateway.filter.GatewayFilter類的實例。

(2)Route(路由):

網關配置的基本組成模塊,和Zuul的路由配置模塊類似。一個Route模塊由一個 ID,一個目標 URI,一組斷言和一組過濾器定義。如果斷言為真,則路由匹配,目標URI會被訪問。

(3)Predicate(斷言):

這是一個 Java 8 的 Predicate,可以使用它來匹配來自 HTTP 請求的任何內容,例如 headers 或參數。斷言的輸入類型是一個 ServerWebExchange。

正文

在使用SCG限流功能時,默認情況下是按秒限流,即一秒允許多少個請求,現需要根據不同時間頻率進行限流,即限制每分鐘、每小時或者每天限流。

分析

SCG的限流使用的guava的ratelimiter工具,令牌桶模式,參數包括以下3個:

replenishRate: 每次補充令牌數量 burstCapacity: 令牌桶最大容量,突發請求數量 requestedTokens: 每次請求消耗令牌的數量

使用方案

每秒限制請求1次

- name: RequestRateLimiter #基于redis漏斗限流 args: key-resolver: '#{@myResolver}' redis-rate-limiter: replenishRate: 1 burstCapacity: 1 requestedTokens: 1

每秒限制請求10次

- name: RequestRateLimiter #基于redis漏斗限流 args: key-resolver: '#{@myResolver}' redis-rate-limiter: replenishRate: 10 burstCapacity: 10 requestedTokens: 1

每分鐘限制請求1次

- name: RequestRateLimiter #基于redis漏斗限流 args: key-resolver: '#{@myResolver}' redis-rate-limiter: replenishRate: 1 burstCapacity: 60 requestedTokens: 60

每分鐘限制請求10次

- name: RequestRateLimiter #基于redis漏斗限流 args: key-resolver: '#{@myResolver}' redis-rate-limiter: replenishRate: 1 burstCapacity: 60 requestedTokens: 6

每小時限制請求1次

- name: RequestRateLimiter #基于redis漏斗限流 args: key-resolver: '#{@myResolver}' redis-rate-limiter: replenishRate: 1 burstCapacity: 3600 requestedTokens: 3600

每小時限制請求10次

- name: RequestRateLimiter #基于redis漏斗限流 args: key-resolver: '#{@myResolver}' redis-rate-limiter: replenishRate: 1 burstCapacity: 3600 requestedTokens: 360

其他頻率以此類推,調整三個參數即可。

到此這篇關于Spring Cloud Gateway不同頻率限流的解決方案(每分鐘,每小時,每天)的文章就介紹到這了,更多相關Spring Cloud Gateway限流內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
主站蜘蛛池模板: 婷婷天堂| 欧美性猛交xxx免费看人妖 | 欧美综合精品 | 黄色影院在线 | 国产原创视频在线 | 国产大毛片 | 伊人婷婷色香五月综合缴缴情 | 99热国产在线观看 | 老年人毛片 | 精品久久久久久亚洲 | 精品视频福利 | 女人牲交视频一级毛片 | www.免费黄色 | xxxx鞠婧祎xxxx网站视频观看 | 欧美一级特黄刺激大片视频 | 亚洲欧美综合乱码精品成人网 | 首页亚洲国产丝袜长腿综合 | 国产美女一级做受在线观看 | 亚洲成人免费视频在线 | 久久精品99无色码中文字幕 | 精品视频在线观看一区二区三区 | 欧美日韩另类在线观看视频 | 成人一级大片 | 色婷婷5月精品久久久久 | 欧美日本俄罗斯一级毛片 | 热门国产xvideos中文 | 日韩有码在线播放 | 欧美噜噜噜| 国产福利写真视频在线观看 | 狠狠色丁香婷婷久久综合2021 | 激情在线播放免费视频高清 | 91免费观看视频 | 精品一久久香蕉国产线看观看下 | 之后3在线观看完整免费酷客 | 香蕉大黄香蕉在线观看 | 深夜影院深a久久 | 精品综合网 | 亚洲欧美一区二区三区 | 国产精品久久久久影院色 | 特别黄的免费视频大片 | 高清国产美女一级a毛片录 高清国产美女在线观看 |