流量控制模型概述就是流量控制,有些地方称之为“限流算法”。对于一个系统来说,受限于资源(CPU、内存、带宽、I/O等),其处理能力是有限的。一旦客户的流量超过这个限制,往往会导致灾难性的后果。因此,各种“限流算法”应运而生。比较简单的模型如下:countermodelfunnelmodeltokenbucketmodel受我知识和眼界的限制,我目前只了解这三个模型,如果以后学习更多的模型,我会补上的。计划在三篇文章中讨论这些模型的原理及其C++实现。本文为第一篇。计数器算法首先介绍了算法原理和接口,最后实现了一个基于计数器的限流器。原理我觉得这是最“简单粗暴的方法”,用一个累加器记录请求次数(也就是流量),然后按照指定的时间间隔查看累加器的值。该模型可以通过“单线程”、“多线程”、“定时器”等多种方式实现。这种模式的优点是实现简单,但缺点也很明显:功能太弱,性能不高,不流畅。接口设计接口设计计数器模型的实现基于C++11标准的无锁单线程实现#ifndefRATE_LIMIT_H#defineRATE_LIMIT_H#include
