导读
限流能力是服务自我保护最重要的能力之一,市面上服务限流的组件也非常多。Spring Cloud Tencent 限流能力最大的特定是完全无侵入,对常见的限流场景做了比较好的支持。例如表达式标签自动从 Request 里提取参数等。
Github 地址: Spring Cloud Tencent
模块简介
服务限流是最常见的一种服务自我保护措施之一,防止流量洪峰打垮服务。Spring Cloud Tencent Rate Limit 模块内置了针对 Spring Web 和 Spring WebFlux 场景的限流 Filter,结合 Polaris 的限流功能帮忙业务快速接入限流能力。
支持的限流场景包括:
- 服务级限流
- 根据 path 限流
- 根据 Request 中的 QueryParam、Header 等参数细粒度限流
如果您对源码感兴趣,可以查看核心限流 Filter 实现类 RateLimitFilter
快速入门
本章节将介绍如何在 Spring Cloud 项目中使用 Spring Cloud Tencent RateLimit 的功能。
完整的 Example 代码请参考:polaris-ratelimit-example
第一步:引入 Polaris 服务端
方式一:搭建本地北极星服务
搭建北极星服务请参考 Polaris Getting Started
方式二:使用北极星开源提供的体验环境
- Console Address : http://14.116.241.63:8080/
- Username: polaris
- Password: polaris
- Server Address:
grpc://183.47.111.80:8091
方式三:使用腾讯云北极星服务
腾讯云提供了免运维的北极星云服务,基于云服务可以快速开通生产级高可用北极星集群 了解更多
第二步:引入 Spring Cloud Tencent Rate Limit 依赖
- 参考 Spring Cloud Tencent 版本管理 文档获取最新的版本号,引入 Spring Cloud Tencent Bom,例如: