01、为什么AUSTIN项目需要限流
众所周知,服务器能处理的请求数是有限的,如果请求量特别大,我们就可能需要做限流。
限流处理的姿势:要么就让请求等待,要么就把请求给扔了
![](https://img-blog.csdnimg.cn/img_convert/434bfc7ff362c7f89b7143fb8f185d0a.png)
从系统架构来看,我们的统一处理入口在austin-api
接入层上,austin-api
接入层做完简单的参数校验以及参数拼接后,就将请求转发到消息队列上了
![](https://img-blog.csdnimg.cn/img_convert/ed44d487f002baf023dc9f973c4471df.png)
image.png
按正常来说,因为接了消息队列且接入层没有什么耗时的操作,那对外的接口压力不大的。
没错的,austin要接入限流也并不是在austin-api
接入层上做,是在austin-handler
消息处理下发层。austin-handler
消息处理下发层我们是用线程池去隔离不同的消息渠道不同的消息类型。