Spring Cloud Gateway Redis速率限制器不起作用

时间:2019-03-26 04:04:05

标签: spring-cloud-gateway

我不能玩Spring Cloud Gateway的Ratelimiter。 我在这里配置网关:

spring:
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true
      routes:
      #Admin
      - id: haft-upms-admin
        uri: lb://haft-upms-admin
        predicates:
        - Path=/admin/**
        filters:
        - name: RequestRateLimiter
          args:
            key-resolver: '#{@remoteAddrKeyResolver}'
            redis-rate-limiter.replenishRate: 1
            redis-rate-limiter.burstCapacity: 1
        - name: Hystrix
          args:
            name: default
            fallbackUri: 'forward:/fallback'

我使用JMeter调用API循环1000次,但网关没有响应429响应中有太多请求。 我在哪里错了?

1 个答案:

答案 0 :(得分:-2)

首先,您的访问URL错误,无法匹配路由id:haft-upms-admin,因此无法调用redis RequestRateLimiter。您可以看到如下调试日志: enter image description here,您可以检查路线ID是否匹配。

第二,您可以读取我的配置文件: enter image description here

路径为:localhost:xxxx/eureka-client/XXXX 将转发给我的服务eureka-client 并匹配路线ID my_coute1,因此您可以参考我的示例 总之,您必须匹配您的路由ID。