首页 > 分享 > spring cloud 2.x版本 Gateway熔断、限流教程

spring cloud 2.x版本 Gateway熔断、限流教程

最新推荐文章于 2024-10-31 17:04:26 发布

fengfujie 于 2019-10-25 15:33:37 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文详细介绍了如何在Spring Cloud Gateway 2.x版本中实现熔断和限流。针对熔断,文章讲解了添加相关依赖、配置application.yml、创建FallBackController的步骤,并展示了在服务停顿时的熔断效果。对于限流,通过官方提供的RequestRateLimiterGatewayFilterFactory,利用Redis和Lua脚本实现令牌桶策略,详细配置了Redis参数,并指出可以通过调整参数模拟限流效果。

摘要由CSDN通过智能技术生成

前言

本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3

本文基于前两篇文章eureka-server、eureka-client、eureka-ribbon、eureka-feign和spring-gataway的实现。

参考

- eureka-server

- eureka-client

- eureka-ribbon

- eureka-feign

- spring-gateway

概术

在高并发应用中,缓存、限流、降级,是我们保护系统应用的三大利器。在开发一些api接口的时候,通常也会在网关层做限流控制,一方面是为了防止大量的请求是服务器过载,导致服务器不可用,另一方面也是防止其他人的恶习网络攻击。

常见的限流方式,如Hystrix的使用线程池隔离,超过线程池的负载走熔断的逻辑;也有通过滑动的时间窗口来控制流量。

常用的限流算法有,计数器算法、漏桶算法、令牌桶算法,这里就不对相关算法进行描述。

熔断

Spring Cloud Gateway的熔断可以基于Hystrix实现。可以参考spring cloud 2.x版本 Hystrix Dashboard断路器教程。

1.1 增加pom相关依赖

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency>123 1.2 修改application.yml

server: port: 8100 spring: redis: host: localhost port: 6379 application: name: spring-gateway cloud: gateway: discovery: locator: enabled: true # 开启通过服务中心的自动根据 serviceId 创建路由的功能 default-filters: - My=true routes: - id: ribbon-route

1234567891011121314151617

相关知识

小米一面:电商系统开发遇到了哪些问题?
spring boot 2.0.3+eureka高可用配置 及unavailable
Spring Boot集成微信支付JSAPIV3保姆教程
若依RuoYi项目环境搭建教程(RuoYi
SAP Commerce Cloud
Cloud tv破解版
基于springboot实现的对人社区交流平台(计算机毕设交流案例)
504 Gateway Time
502 Bad Gateway
Google Cloud中的生成式AI:最新进展一览

网址: spring cloud 2.x版本 Gateway熔断、限流教程 https://m.huajiangbk.com/newsview1163581.html

所属分类:花卉
上一篇: Python3编程指南
下一篇: JavaScript高阶教程之“