作者:晒太阳的人2015 | 来源:互联网 | 2023-08-05 21:37
本项目采用Jar方式接入,可简单快速实现接口的限流能力(内置支持了SpringMVC网关和Dubbo微服务,可自定义拓展)。
该项目考虑到限流场景的高压力,采用了批量预取、单机锁、蓄池缓冲、Lua合并指令集等一系列优化策略,尽可能最大程度提升性能表现。可满足大多数业务场景。
内部实现了令牌桶算法
,适用范围更广。下层依赖redis(2.6版本以上)的lua脚本能力实现分布式限流。
该项目底层使用spring管理,针对于redis调用封装以及限流配置获取进行模块抽象,支持自定义实现。并默认实现集团全家桶redis封装,以及hippo配置中心。
详细文档参见:
http://wiki.fenqile.com/pages/viewpage.action?pageId=36553290
典型场景
商城系统中,秒杀活动的接口调用频次限制
开放平台中,针对某个合作商的接口访问频度控制
使用方法
技术指标
Roadmap
【新特性】支持查看限流实时统计效果
【新特性】支持根据接口压力反馈动态设置阀值
使用案例
PS: 请使用该组件的同学联系antonybi,可以获得更好的技术支持,并出现在使用案例中
【Vine的含义】
中文含义是藤蔓。由乐卡会员产品部研发中心团队出品并维护的一系列常用组件的代号。寓意,各种组件都是支持系统的各个枝干,越来越多的组件会交织起来,会有更稳固的支撑。同时,藤蔓的延生感体现出生命活力,也代表组件的不断完善和发展。
项目负责人:qiaoliu(刘巧)项目Git仓库地址:http://gitlab.fenqile.com/lexin_public_group/vine_rate_limiter