zoukankan      html  css  js  c++  java
  • zuul实现的限流

    限流一般可以根据客户端IP,请求的URL,用户登陆信息进行限制,每秒钟限制多次数,这从别一方面也提升了系统的性能,无用的并发没那么多了。

    依赖包

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

    zuul的配置

    zuul:
      routes: #实现了反向代码和负载均衡,负载均衡采用轮询的方式实现
        a:
          path: /a/**
          sensitiveHeaders: "*" #不过滤任何头信息
          serviceId: servicea
        b:
          path: /b/**
          sensitiveHeaders: "*"
          serviceId: serviceb
        c:
          path: /c/**
          sensitiveHeaders: "*"
          serviceId: servicec
      add-proxy-headers: false
      stripPrefix: true #为true的情况下:向后端转发之后是不会携带 '/a' 的。为 false 则相反
    

    ratelimit限制配置

    ratelimit:
      enabled: true
      repository: REDIS #使用redis存储,一定要大写!
      policies:
        a: #针对上面那个服务的限流
          limit: 100 #每秒多少个请求
          refreshInterval: 60 #刷新时间窗口的时间,默认值 (秒)
          type:
            - ORIGIN #这里一定要大写,类型说明:URL通过请求路径区分,ORIGIN通过客户端IP地址区分,USER是通过登录用户名进行区分,也包括匿名用户
    

    这样,服务a的限流就做好了!

  • 相关阅读:
    常用AIX论坛地址介绍
    向日葵任务甘特图 http://www.51diaodu.cn/
    centos 中tomcat加入自启动​【转】
    徐州出差几天
    Unit OneC
    周末来了~
    北京展览馆参加第6届石油石化装备展览会
    王心凌 我会好好的 cyndi with u
    VS中Debug与Release、_WIN32与_WIN64的区别
    c语言中<stdbool.h>的使用
  • 原文地址:https://www.cnblogs.com/lori/p/11694291.html
Copyright © 2011-2022 走看看