zoukankan      html  css  js  c++  java
  • spring-cloud-zuul-ratelimit 配置

    1、 添加spring-cloud-zuul-ratelimit依赖。

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

    2、 全局限流配置

    #全局限流:
    zuul.ratelimit.enabled=true
    zuul.ratelimit.behind-proxy=true
    zuul.ratelimit.repository=REDIS
    zuul.ratelimit.add-response-headers=true
    zuul.ratelimit.default-policy.limit=7
    zuul.ratelimit.default-policy.quota=1000
    zuul.ratelimit.default-policy.refresh-interval=60
    zuul.ratelimit.default-policy.type=origin

    3、 特定服务限流配置

    #局部限流:针对某个服务进行限流

    #60s 内请求超过 3 次,服务端就抛出异常,60s 后可以恢复正常请求
    zuul.ratelimit.policies.api-b.limit=3
    zuul.ratelimit.policies.api-b.quota = 1000
    zuul.ratelimit.policies.api-b.refresh-interval=60
    #针对某个 IP 进行限流,不影响其他 IP
    zuul.ratelimit.policies.api-b.type=origin

     4,完整示例:

     

    server.port=9527

    spring.application.name=gateway

    eureka.client.serviceUrl.defaultZone=http://localhost:6660/eureka/
    eureka.instance.instance-id = gateway-9527.com
    eureka.instance.prefer-ip-address=true

    zuul.routes.api-a.path =/aaaa/**
    zuul.routes.api-a.service-id =saas

    zuul.routes.api-b.path =/bbbb/**
    zuul.routes.api-b.service-id =lula

    #全局限流:
    zuul.ratelimit.enabled=true
    zuul.ratelimit.behind-proxy=true
    zuul.ratelimit.repository=REDIS
    zuul.ratelimit.add-response-headers=true
    zuul.ratelimit.default-policy.limit=7
    zuul.ratelimit.default-policy.quota=1000
    zuul.ratelimit.default-policy.refresh-interval=60
    zuul.ratelimit.default-policy.type=origin


    #局部限流:针对某个服务进行限流

    #60s 内请求超过 3 次,服务端就抛出异常,60s 后可以恢复正常请求
    zuul.ratelimit.policies.api-b.limit=3
    zuul.ratelimit.policies.api-b.quota = 1000
    zuul.ratelimit.policies.api-b.refresh-interval=60
    #针对某个 IP 进行限流,不影响其他 IP
    zuul.ratelimit.policies.api-b.type=origin



    # Redis数据库索引(默认为0)
    spring.redis.database=0
    # Redis服务器地址
    spring.redis.host=localhost
    # Redis服务器连接端口
    spring.redis.port=6379
    # Redis服务器连接密码(默认为空)
    spring.redis.password=



  • 相关阅读:
    Java从静态代理到动态代理
    Redis持久化
    Linux top命令详解
    从Java线程到线程池
    NodeJs的学习
    使用<金蝶云星空集成开发平台>创建单据的操作步骤
    Maven项目的创建
    XCX_豆瓣电影
    小程序,新手上路
    更改Apache虚拟目录并授予权限 及 { 修改索引页 }
  • 原文地址:https://www.cnblogs.com/alamps/p/12818458.html
Copyright © 2011-2022 走看看