zoukankan      html  css  js  c++  java
  • zuul进行rate limit

    maven

    <dependency>
                <groupId>com.marcosbarbero.cloud</groupId>
                <artifactId>spring-cloud-zuul-ratelimit</artifactId>
                <version>1.0.7.RELEASE</version>
            </dependency>

    配置

    product:
      ribbon:
        listOfServers: 192.168.99.100:8080
    zuul:
      routes:
        product:
          path: /product/**
          stripPrefix: false
      ratelimit:
        enabled: true #default false
        behind-proxy: true #default false
        policies:
          product:
            limit: 10
            refresh-interval: 120 #60 default value (in seconds)
            type: #optional
              - user
              - origin
              - url
    spring:
      redis:
        timeout: 10
        database: 0
        host: 192.168.99.100
        port: 6379
        pool:
          max-active: 8
          max-idle: 8
          max-wait: -1
          min-idle: 0

    filterOrder

    类似spring-core-4.3.4.RELEASE-sources.jar!/org/springframework/core/Ordered.java

        /**
         * Useful constant for the highest precedence value.
         * @see java.lang.Integer#MIN_VALUE
         */
        int HIGHEST_PRECEDENCE = Integer.MIN_VALUE;
    
        /**
         * Useful constant for the lowest precedence value.
         * @see java.lang.Integer#MAX_VALUE
         */
        int LOWEST_PRECEDENCE = Integer.MAX_VALUE;
    

    默认越小优先级越高,排查负数的情况下,0优先级最高

    RateLimitFiltercom/marcosbarbero/zuul/filters/pre/ratelimit/RateLimitFilter.java

    它的order为-1,表示更先执行

    测试

    wrk -t12 -c100 -d10s -T30s --latency http://localhost:8080/product

    限流结果:

    workspace curl -i http://localhost:8080/product?debug=true
    HTTP/1.1 429
    X-Application-Context: application
    X-RateLimit-Limit: 10
    X-RateLimit-Remaining: 0
    X-RateLimit-Reset: 13000
    Content-Length: 0
    Date: Sun, 09 Apr 2017 06:44:02 GMT

    doc

  • 相关阅读:
    Loadrunner 参数化&参数化策略&参数化mysql
    Loadrunner 录制脚本注意事项
    Centos7卸载nginx及php、php-fpm方法
    卸载apache
    apache配置
    centOs
    ajax-php跨域请求
    安装php
    apache
    java集合类,HashMap,ArrayList
  • 原文地址:https://www.cnblogs.com/zhangjianbin/p/7228368.html
Copyright © 2011-2022 走看看