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

posted @ 2018-05-10 17:29  脚本小娃子  阅读(1079)  评论(0编辑  收藏  举报