流量转发服务器, 不借助防火墙,用代码实现针对带有标识的客户限速(Rate Limit)。
服务器是libevent写的异步服务器, 每个连接都被封装成了一个session结构体,结构体包含了连接的所有信息。
我的思路是, 用令牌桶算法控制回写的接口,一个用户的多条连接只分配一个令牌桶。
但是我觉得我的思路有问题, 哪个大佬有兴趣讲讲整个的思路应该是怎么样的?
需要注意的问题是:
1. 转发服务器是libevent异步服务器, 当不满足条件的时候, 怎么对IO 做限制?
2. 每个用户有很多连接, 怎么给多条连接只分配一个令牌桶?
3. 如何控制用户的上传, 和下载速度?
求大佬指点。