接口访问次数_spring boot 流量控制 控制用户访问api的次数

该博客介绍了如何使用Spring Boot进行流量控制,以限制API的访问次数,防止恶意调用。通过flowcontrol-spring-boot-starter,利用分布式锁和Redis存储访问数据,确保在分布式环境下的准确性。实现过程中包括配置流量控制信息、实现FlowControlConfigurer接口以及使用Filter和Interceptor进行拦截。
摘要由CSDN通过智能技术生成

FlowControl(流量控制)

FlowControl想要解决的问题是控制api访问次数,防止恶意调用api。支持分布式应用的使用。

spring boot 支持flowcontrol-spring-boot-starter

db3fdb0f3d991dcd4f4fc82ebe6a1dd1.png

原理

拦截链接并计数,如果超过次数,返回错误信息,没有超过次数则通过。

使用了分布式锁来控制准确的拦截。

将访问数据保存到redis来保证分布式下的运用。

分布式下运用注意要redis访问的是同一个数据库


如何使用

  • 配置流量控制信息
  • 实现接口FlowControlConfigurer
public class CustomFlowControlConfigurer implements FlowControlConfigurer {/*** * 配置redis客户端 */@Overridepublic RedissonClient redissonClient() {Config config = new Config();config.useSingleServer().setAddress("redis://localhost:6379");RedissonClient redisson = Redisson.create(config);return redisson;}/*** * 配置拦截成功后-执行的动作 */@Overridepublic FlowCon
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值