SpringCloud详解 第五章 API网关服务zuul(四)
本章梳理Zuul网关的限流保护
Zuul网关组件也提供了限流保护。当请求并发达到阀值,自动触发限流保护,返回错误结果。只要提供error错误处理机制即可。
Zuul的限流保护需要额外依赖spring-cloud-zuul-ratelimit组件。
dependency> <groupId>com.marcosbarbero.cloud</groupId> <artifactId>spring-cloud-zuul-ratelimit</artifactId> <version>1.3.4.RELEASE</version> </dependency>
一、全局限流配置
使用全局限流配置,zuul会对代理的所有服务提供限流保护。
# 开启限流保护 zuul.ratelimit.enabled=true # 60s内请求超过3次,服务端就抛出异常,60s后可以恢复正常请求 zuul.ratelimit.default-policy.limit=3 zuul.ratelimit.default-policy.refresh-interval=60 # 针对IP进行限流,不影响其他IP zuul.ratelimit.default-policy.type=origin
二、局部限流配置
使用局部限流配置,zuul仅针对配置的服务提供限流保护。
# 开启限流保护 zuul.ratelimit.enabled=true # hystrix-application-client服务60s内请求超过3次,服务抛出异常。 zuul.ratelimit.policies.hystrix-application-client.limit=3 zuul.ratelimit.policies.hystrix-application-client.refresh-interval=60 # 针对IP限流。 zuul.ratelimit.policies.hystrix-application-client.type=origin
三、限流参数简介