Redis Redis-Cell

原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11632679.html

漏斗限流

漏斗限流是最常用的限流方法之一,另一个是令牌桶(比如:Guava RateLimiter) 

漏斗的容量是有限的,如果将漏嘴堵住,然后一直往里面灌水,它就会变满,直至再也装不进去。如果将漏嘴放开,水就会往下流,流走一部分之后,就又可以继续往里面灌水。如果漏嘴流水的速率大于灌水的速率,那么漏斗永远都装不满。如果漏嘴流水速率小于灌水的速率,那么一旦漏斗满了,灌水就需要暂停并等待漏斗腾出一部分空间。

所以,漏斗的剩余空间就代表着当前行为可以持续进行的数量,漏嘴的流水速率代表着系统允许该行为的最大频率。

Redis-Cell

Redis4.0提供来一个限流Redis模块 —— Redis-Cell。该模块使用来漏斗算法,并提供了原子的限流指令。

该模块只有1条指令cl.throttle

Reference

https://redislabs.com/blog/redis-cell-rate-limiting-redis-module/

原文地址:https://www.cnblogs.com/agilestyle/p/11632679.html