加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

zuul实现的限流

(2022-05-05 18:51:21)

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

依赖包

        
            org.springframework.cloud
            spring-cloud-starter-zuul
        
        
            com.marcosbarbero.cloud
            spring-cloud-zuul-ratelimit
            1.3.2.RELEASE
        

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的限流就做好了!

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有