实现分布式限流开源项目

以下是10个可以实现分布式限流中间件的开源项目推荐,这些项目基于不同的技术栈,适用于多种应用场景:

  1. **Alibaba Sentinel**

Sentinel 是阿里巴巴开源的分布式限流中间件,支持多种限流策略(如QPS、并发线程数等),并可以通过动态规则进行配置。它支持分布式环境下的限流,并且可以与Nacos、Consul等配置中心集成。

  1. **Redisson RRateLimiter**

Redisson 提供了基于Redis的分布式限流器RRateLimiter,底层使用Lua脚本和令牌桶算法实现。它支持Redis单机、Sentinel和Cluster等多种部署方式。

  1. **AspNetCoreRateLimit**

这是一个针对ASP.NET Core的限流中间件,支持基于IP、客户端ID等维度的限流策略。它可以通过配置文件灵活定义限流规则,并支持内存缓存和Redis等多种存储方式。

  1. **Limiter**

Limiter 是一款基于Rack的HTTP请求限流中间件,支持黑白名单功能。它使用Redis进行数据存储,适用于需要限制HTTP请求频率的场景。

  1. **Guava RateLimiter**

Guava 提供了单机限流器RateLimiter,基于令牌桶算法实现。虽然它主要用于单机环境,但可以通过结合Redis等分布式存储实现分布式限流。

  1. **go-ratelimit**

这是一个基于Go语言的限流库,支持漏桶算法。它可以通过简单的API实现限流功能,适用于Go语言开发的分布式系统。

  1. **lua-resty-limit-traffic**

这是一个基于OpenResty/Nginx的限流插件,使用Lua脚本实现。它支持基于Redis的分布式限流,适用于需要在Nginx层面实现限流的场景。

  1. **Spring Cloud Gateway RateLimiter**

Spring Cloud Gateway 提供了限流功能,可以通过与Redis等存储结合实现分布式限流。它支持基于路径、IP等维度的限流策略,适合Spring生态的微服务架构。

  1. **Apache APISIX**

Apache APISIX 是一个高性能的API网关,支持分布式限流。它通过插件机制实现限流功能,支持多种协议和后端服务。

  1. **gRPC-RateLimiter**

这是一个基于gRPC的限流中间件,支持分布式环境下的限流功能。它可以通过配置文件定义限流规则,并支持多种后端存储。

这些项目涵盖了从单机到分布式环境的限流需求,您可以根据具体的技术栈和业务需求选择合适的工具。

相关推荐
千年奇葩14 小时前
开源OpenXR引擎:Monado XR Runtime开发配置及关键模块说明(可用于自研VRAR眼镜设备或pico、queset等量产设备)
开源·ar·xr·vr·openxr·monado
Teable任意门互动15 小时前
主流多维表格产品深度解析:飞书、Teable、简道云、明道云、WPS
开发语言·网络·开源·钉钉·飞书·开源软件·wps
兜兜风d'15 小时前
RabbitMQ 七种工作模式全解析
分布式·rabbitmq
菜鸡儿齐16 小时前
kafka高可靠性
分布式·kafka
算家计算17 小时前
PaddleOCR-VL本地部署教程:0.9B参数问鼎全球第一,轻量化模型实现多模态文档解析SOTA
人工智能·开源
FIT2CLOUD飞致云18 小时前
支持向量检索匹配数据源和具体数据表,SQLBot开源智能问数系统v1.2.1版本发布
开源
ajassi200018 小时前
开源 Linux 服务器与中间件(十)Mqtt协议和Emqx服务器安装测试
linux·服务器·开源
FIT2CLOUD飞致云18 小时前
飞致云播客丨揭秘JumpServer PAM核心功能的设计故事
开源
ajassi200018 小时前
开源 Linux 服务器与中间件(八)数据库--MariaDB
服务器·数据库·开源
兜兜风d'18 小时前
RabbitMQ 持久性详解
spring boot·分布式·rabbitmq·1024程序员节