網(wǎng)關(guān)限流的作用
在高并發(fā)情況下,網(wǎng)關(guān)通過限流達(dá)到自我保護(hù)庸毫。在規(guī)定時(shí)間內(nèi)仔拟,限制訪問次數(shù),超出次數(shù)拋出異常飒赃,進(jìn)行限流利花。
如何配置
添加依賴
<dependency>
<groupId>com.marcosbarbero.cloud</groupId>
<artifactId>spring-cloud-zuul-ratelimit</artifactId>
<version>1.3.4.RELEASE</version>
</dependency>
限流方式一:全局限流
在application配置文件中添加配置
#是否開啟限流
zuul.ratelimit.enabled=true
##60s 內(nèi)請(qǐng)求超過 3 次,服務(wù)端就拋出異常载佳,60s 后可以恢復(fù)正常請(qǐng)求
zuul.ratelimit.default-policy.limit=3
zuul.ratelimit.default-policy.refresh-interval=60
##針對(duì) IP 進(jìn)行限流炒事,不影響其他 IP
zuul.ratelimit.default-policy.type=origin
以上面配置為例,此時(shí)通過網(wǎng)關(guān)訪問的所有服務(wù)蔫慧,都不能在60秒內(nèi)訪問超過3次羡洛,超過3次將直接拋出異常限流方式一:局部限流、針對(duì)某個(gè)服務(wù)進(jìn)行限流
在application配置文件中添加配置
##開啟限流
zuul.ratelimit.enabled=true
##60s 內(nèi)請(qǐng)求超過 3 次藕漱,服務(wù)端就拋出異常欲侮,60s 后可以恢復(fù)正常請(qǐng)求
zuul.ratelimit.policies.e-book-product-provider.limit=3
zuul.ratelimit.policies.e-book-product-provider.refresh-interval=60
##針對(duì)某個(gè) IP 進(jìn)行限流,不影響其他 IP
zuul.ratelimit.policies.e-book-product-provider.type=origin
以上配置為例肋联,就是對(duì)e-book-product-provider服務(wù)進(jìn)行限流威蕉,其他服務(wù)不進(jìn)行限流