参数 速率_使用redis在SpringCloud gateway中进行速率限制

使用redis在SpringCloud gateway中进行速率限制

4969c6177c06689c78292b5069da1f7a.png

目前,Spring Cloud Gateway是仅次于Spring Cloud Netflix的第二个最受欢迎的Spring Cloud项目(就GitHub上的星数而言)。它是作为Spring Cloud系列中Zuul代理的继任者而创建的。该项目提供了用于微服务体系结构的API网关,并基于反应式Netty和Project Reactor构建。它旨在提供一种简单但有效的方法来路由到API并解决诸如安全性,监视/度量和弹性之类的普遍关注的问题。 Spring Cloud Gateway为您提供了许多功能和配置选项。今天,我将集中讨论网关配置的一个非常有趣的方面- 速率限制。速率限制器可以定义为一种控制在网络上发送或接收的流量速率的方法。我们还可以定义几种类型的速率限制。Spring Cloud Gateway当前提供了Request Rate Limiter,它负责将每个用户每秒限制为N个请求。与Spring Cloud Gateway一起使用时RequestRateLimiter,我们可能会利用Redis。Spring Cloud实现使用令牌桶算法做限速。该算法具有集中式存储桶主机,您可以在其中对每个请求获取令牌,然后将更多的令牌缓慢滴入存储桶。如果存储桶为空,则拒绝该请求。

1.依存关系

我们将针对较高流量下的速率限制测试示例应用程序。首先,我们需要包括一些依赖项。当然,需要Spring Cloud Gateway启动器。为了使用Redis处理速率限制器,我们还需要向spring-boot-starter-data-redis-reactive启动器添加依赖项。其他依赖关系用于测试目的。mockserver测试容器内提供的模块。它负责模拟目标服务。反过来,该库在测试期间mockserver-client-java用于与mockserver容器集成。最后一个库junit-benchmarks用于基准测试方法并同时运行测试。

    org.springframework.cloud    spring-cloud-starter-gateway    org.springframework.boot    spring-boot-starter-data-redis-reactive    org.projectlombok    lombok    org.springframework.boot    spring-boot-starter-test    test    org.testcontainers    mockserver    1.12.3    test    org.mock-server  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值