
获得徽章 1
- #青训营笔记创作活动#
1月16日 打卡day3
今日学习
IDEA各种各样的插件
Key Promoter X 是一款帮助你快速学习IDEA快捷键的插件
Lombok目前已经是开发Java应用的标配了,不仅SpringBoot默认支持它,连IDEA也内置了Lombok插件,无需安装即可使用。
MybatisX是一款基于IDEA的快速开发插件,由MyBatis-Plus团队开发维护,提示很全功能也很强大。
RestfulFastRequest号称是IDEA版本的Postman,它是一个功能强大的Restful API工具包插件,可以根据已有的方法快速生成接口调试用例。
PlantUML是一款开源的UML图绘制工具,支持通过文本来生成图形,使用起来非常高效。展开评论点赞 - #青训营笔记创作活动#
1月14日,打卡day01
今日学习
学到了常见的限流方式,
(计数器,滑动窗口,漏桶限流,令牌桶限流)
计数器是最简单的,就是用一个count对请求进行计数,达到一段时间内的上限就不再接受请求。
滑动窗口主要解决了计数器存在的漏洞,即在最后几毫秒系统可能承受的大量恶意请求,用滑动窗口,把起始时间往后推移,让整个时间框不断向后移动,这样让最后几毫秒的请求也可以计算到count中。
由于滑动窗口依然有时间片的概念,所以也会存在临界点问题。所以想要更精准的限流只能采用其他算法。
漏桶限流,就是把请求都放进桶里,如果桶是满的就不接受请求,然后通过限制桶中请求被执行的速率来限流。
令牌桶限流,和漏桶限流类似,不过,令牌桶限流是通过桶里的令牌数量来限流,令牌是随着时间不断生成,只要桶里还有令牌,请求就可以被接受。这样可以允许突发流量的发生,而不是漏桶限流中限制执行速率,不能容忍突发流量。
还有一个分布式限流的方式,
通过redis的计数器和lua执行的原子性进行分布式限流。展开评论点赞