Bootstrap

又是一年年终,写篇技术文章,关于redis + 令牌桶实现限流

1,前言:今天来新公司得第三个月。感觉不错,在今年大环境不好(持续裁员)、情况下提升自己得实力,沉淀自己还是迫在眉睫!希望大家不要随波逐流。。引用 彪哥一句话:论成败,人生豪迈。。。。搞错了。。!!

2, 关于服务限流,目前市面上很多限流组件 ,如sentinel ....等,大家还记得使用redis + lua 脚本 利用 令牌桶原理。实现限流 。

 3, 关于令牌桶原理:

    以恒定速率向桶中添加令牌。每次请求需要消耗一定数量的令牌,如果桶内有足够的令牌,允许请求通过;否则拒绝请求。令牌可以积累,从而允许短时间内的流量突发;

  原理其实大家都能想明白,我们可以理解为 这样一个场景我们在做煎饼,一个桶里放面粉,一个人拿着袋子往里面倒面粉,当一个顾客来了,做煎饼得厨师夫用碗取出一碗面粉,一个人往桶里放一碗面粉,当用顾客多了厨师来去面粉时候 ,要看下桶里得面粉是否足量,不足就会等一下,足够继续取面,放面人继续到面粉。。。这样就有效控制并发,其实放面人得效率可以控制,根据流量多少,人为控制,在我们生产中通过配置去增加放令牌得效率!!

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;