Zuul 構建高可用閘道器之多維度限流

2021-09-08 20:21:26 字數 1110 閱讀 7354

spring-cloud-zuul-ratelimit是和zuul整合提供分布式限流策略的擴充套件,只需在yaml中配置幾行配置,就可使應用支援限流

com.marcosbarbero.cloudgroupid> spring-cloud-zuul-ratelimitartifactid> 1.3.4.releaseversion> dependency>

//預設實現

public string key(final httpservletrequest request, final route route, final ratelimitproperties.policy policy) if (!types.isempty()) if (types.contains(type.origin)) // 這個結合文末總結。 if (types.contains(type.user)) } return joiner.tostring(); }

zuul:

ratelimit:

key-prefix: your-prefix

enabled: true repository: redis behind-proxy: true policies: myserviceid: limit: 10 quota: 20 refresh-interval: 30 type: - user

以上配置意思是:30秒內允許10個訪問,並且要求總請求時間小於20秒

yaml配置:

zuul:

ratelimit:

key-prefix: pig-ratelimite

enabled: true repository: redis behind-proxy: true policies: pig-admin-service: limit: 2 quota: 1 refresh-interval: 3

動態圖 ↓↓↓↓↓

redis 中資料結構 注意紅色字型

Zuul 構建高可用閘道器之多維度限流

spring cloud zuul ratelimit是和zuul整合提供分布式限流策略的擴充套件,只需在yaml中配置幾行配置,就可使應用支援限流 com.marcosbarbero.cloud spring cloud zuul ratelimit 1.3.4.release 預設實現 這個結合...

Zuul 構建高可用閘道器之多維度限流

spring cloud zuul ratelimit是和zuul整合提供分布式限流策略的擴充套件,只需在yaml中配置幾行配置,就可使應用支援限流 com.marcosbarbero.cloudgroupid spring cloud zuul ratelimitartifactid 1.3.4....

Zuul的高可用

zuul的高可用非常關鍵,因為外部請求到後端服務的流量都會經過zuul。故而在生產環境下一般都需要部署高可用的zuul以避免單點故障。一 zuul客戶端也註冊到eureka server上 這種情況下,zuul的高可用非常簡單,只須將多個zuul節點註冊到eureka server上,就可實現zuu...