高可用之限流-02-如何设计限流框架

限流系列

开源组件 rate-limit: 限流

高可用之限流-01-入门介绍

高可用之限流-02-如何设计限流框架

高可用之限流-03-Semaphore 信号量做限流

高可用之限流-04-fixed window 固定窗口

高可用之限流-05-slide window 滑动窗口

高可用之限流-06-slide window 滑动窗口 sentinel 源码

高可用之限流-07-token bucket 令牌桶算法

高可用之限流 08-leaky bucket漏桶算法

高可用之限流 09-guava RateLimiter 入门使用简介 & 源码分析

序言

如何设计一款限流框架?

核心组件

这个锁可以是对象锁

全局锁

分布式锁

令牌

限制瞬时并发数

限制时间窗最大请求数

令牌桶

限流的维度

可以 1s 内

1min 内

1h 内

1D 内

这里应该是一个责任链,全部满足才能放行。

限制类型

次数

频率

编写方式

声明式

注解式

个人收获

服务平台的思想

所有的服务都可以使用类似的策略。

或者说这个可以抽离成为一个微服务,可以页面配置等等。

使用者只需要通过 client 简单的连接,就可以达到限流的目的。

这个适用于很多工具,而且不局限于 java 语言。服务暴露之后可以提供 RPC & Http 等常见协议。

Redis 的底层化

如今很多工具的底层都是强依赖 redis 的,这说明 redis 的设计确实非常优秀。

但是我们在设计框架的时候应该警醒,redis 只是一种实现策略,而不是我们实现的基石。

这种 SPI 的思想非常重要。

兼容 spring(springBoot)

java 界的 spring 基本是如日中天。

所以可以考虑为框架添加对于 spring 的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值