接手一个项目,甲方希望在项目中实现指定用户的限流,这需要我们在go项目中实现一个限流器。 限流器的实现有很多经典的思想,不过令牌桶的思路简单,运行效率高,它是以恒定的速度往木桶里加入令牌,木桶满了则不再加入令牌。 服务收到请求时尝试从木桶中取出一个令牌,如果能够得到令牌则继续执行后续的业务逻辑。如果没有得到令牌,直接返回访问频率超限的错误码或页面等,不继续执行后续的业务逻辑。 特点:由于木桶内只要有令牌,请求就可以被处理,所以令牌桶算法可以支持突发流量。 同时由于往木桶添加令牌的速度是恒定的,且木桶的容量有上限,所…