00:00
嗨,同学们,那在最后的这个一段时间给大家总结一下这个漏桶算法。呃,这个漏总算法里边呢,我们在配置这个bary remote ID的时候,呃,这指的是对于我们用户的这个IP地址去做这个呃限制,那不只是可以从这一个维度去限制用户的请求,还可以从另外一个维度,比如说这个host。呃呃,就就是我们这个server name,它还可以去配置这个server name在官方文档里呢,也给大家记了,这个呢,就是针对于当前一个server啊,这个去做这个限流,而不再去做对于这个单一的一个用户去做限流了,那么同时它也可以这两边两个维度呢一起去限制啊,在限制的时候呢,它会有这个最小匹配原则,先匹配上哪个之后呢,那另外一个呢,它就失效了。然后再一个就是这个漏总算法和这个我们这个呃,Limit r EQ,对于请求这QPS限制的这个模块的对应关系,我们可以看一下这张图,再加上我们这个配置,首先如果要是我们只配了呃,这个。
01:05
IEQ之之后呢,啊,其实是没有桶的概念的,它只是限制住了固定的流出速度,所有的这个请求啊,就像是一个呃。这个只有一个水龙头一样,它后边没有桶啊,请求来了之后呢,只是按照我的固定速率往外去输出,比如这QPQPS,如果要是一的话。那来一个请求,我处理一个,超过了一个请求呢,直接就给它丢弃掉了啊,这是只配了这个limit I EQ,那么如果后边我们加上。这个burst这里边就有桶的感觉了,它所对应的这边,我们这张图里边呢,啊,就是这个bucket,这就是一个桶,那也就是它会给我们去有一个桶的,或者说有一个缓冲区,有这么一个,呃,有这么一个容器去先接住我们这些请求,然后再按照固定的流速再去往外流。那如果要是超过了这个我们的这个桶的这个所所能承载的范围之后呢。
02:05
它会进入队列的状态,所有的请求呢,都会进入队列,如果是大于这个桶的这个,呃,这个这个用户呢,那它也是接不进来的,直接把这个用户就给丢弃掉了,因为当前桶里边已经挤满了现在的所有的用户,因为他所。标识的是用户,这里边只能装五个用户,针对于五个用户后边的请求可以去队列,超过了五个用户之后,用户直接也都会被丢弃掉,除非当前这个用户已经从这个桶里边完全撤出来了。新的用户才能加进去啊,就是针对于这个limit limit这个,呃,这个指标啊,就是这个bary remote a DR,就是这个用户,如果要撤了新的用户才能接进来,这一个桶里只能装五个。啊,另外一个事就是。每一个用户后后续的请求会进入队列啊,那再有就是更完善的配置,就是加上这个nod类,因为这一每一个用户在后边的都会进入队列状态,那么如果队列的这个请求积压的比较多了。
03:05
那么新的用户他压根就接不进来了啊,所以在这加一个no delay呢,就可以让每一个用户所有的请求立即给他处理掉。那这会儿也有他这个爆发的感觉了,如果没有他的话,这只有一个桶的感觉,对吧,然后每一个人的每一个人往这个桶里边去放东西,放满了之后呢,这在后边站的这几个人呢,接着等着往里放,少一个放一个,少一个放一个对吧。加了node类之后,直接让他快速失败啊,所有的这个请求超过桶的范围,直接给他丢弃掉,然后去消耗,桶里边已接收到了这个,呃,我们现在这配置五啊,五个请求慢慢去一个一个去消耗,当五变成四之后,再有再有请求接进来,它就不分是哪个用户了,不管是哪个用户,来一个我接一个,来一个接一个,那这样呢,更适合我们现在的这个,呃,互联网的场景,当然你要根据。自己的项目的实际的这个。
04:00
实际的这个这个这个需求我们去做这个配置,但通常来说这么去配置呢,也就可以了啊,这是桶的感觉,然后这儿呢是有爆发的感觉啊,因为它后边加了努迪泪啊,所以我瞬间能够给你再去处理这个同理这个五个星球啊,而不是只是这个一个一个的再去流出来了,这个在咱们前面的实验呢,也都给他做了。啊,这就是,呃,这个漏统算法,呃,在这个NG里的,嗯,官方的事件啊,这个模块叫limit r EQ。
我来说两句