1、概述:
基于令牌桶算法实现,实现qps限制。blog: http://www.liuyukang.com/archives/cppxianliuqi
2、特点:
(1)接口使用简单,无业务侵入,接入成本极低
(2)线程安全,CPU友好,性能强劲
(3)极轻量,核心代码150行
3、编译:
进入src,make之后即可生成libratelimiter.so。
4、使用:
example中提供示例,将libratelimiter.so放入/usr/lib/中后进入example,make即可生成可执行文件。下面这段代码将会执行5s:
int main()
{
RateLimiter r(100);//100qps限流器
for(int i = 0; i < 500; ++i)
{
r.pass();//通过的速率为100/s
}
return 0;
}