三、分布式限流
RateLimiter是一个单机的限流组件,如果是分布式应用的话,该怎么做?
可以使用Redis lua的方式来实现,大致的lua脚本代码如下:
Java代码如下:
解释:
- Java代码传入key和最大的限制limit参数进lua脚本
- 执行lua脚本(lua脚本判断当前key是否超过了最大限制limit)
- 如果超过,则返回0(限流)
- 如果没超过,返回1(程序继续执行)
一直以来,在不同类别软件开发人才的需求中,对于Java工程师的需求量一直居高不下,而且Java工程师的薪资水平相对较高,所以每年学习Java的人也越来越多。但由于每个人的基础、资质有所不同,学习成果也就大不相同,所以大家可以私信我【java】进我的讨论组一起交流,获取Java学习资料!
本文转载至掘金——java3y,如有侵权请联系立删!