flask结合令牌桶算法实现上传和下载速度限制
限流、限速:
1、针对flask的单个路由进行限流,主要场景是上传文件和下载文件的场景
2、针对整个应用进行限流,方法:利用nginx网关做限流
本文针对第一中情况,利用令牌桶算法实现:
这个方法:https://github.com/kwsy/Flask-TrafficShape,其实实现的是限制单个请求的频率。但是思路可以借鉴,我们需要做的是对请求的内容大小进行速率限制。那么该如何利用flask下的werkzeug是限制请求呢?源代码看了半天,没有搞太明白,后续再看
参考:
1、https://juejin.im/post/5ab10045518825557005db65
2、https://caden16.github.io/python/python%E6%B5%81%E9%87%8F%E6%8E%A7%E5%88%B6/
3、https://github.com/kwsy/Flask-TrafficShape
4、http://werkzeug.pocoo.org/docs/0.14/wrappers/#wrappers
5、http://werkzeug.pocoo.org/docs/0.14/request_data/#limiting-request-data