获得徽章 1
#青训营笔记创作活动#
12月9日 打卡day1
今日学习
在电商等**高并发场景**下,我们经常会使用一些常用方法,去应对流量高峰,比如**限流、熔断、降级**
限流是限制到达系统的并发请求数量,保证系统能够正常响应部分用户请求,而对于超过限制的流量,则通过**拒绝服务**的方式保证整体系统的可用性。根据限流作用范围,可以分为**单机限流和分布式限流**;根据限流方式,又分为**计数器、滑动窗口、漏桶限令牌桶限流**
常用的限流方法及其优缺点如下:
计数器:
优点:固定时间段计数,实现简单,适用不太精准的场景;
缺点:对边界没有很好处理,导致限流不能精准控制。
滑动窗口:
优点:将固定时间段分块,时间比“计数器”复杂,适用于稍微精准的场景;
缺点:实现稍微复杂,还是不能彻底解决“计数器”存在的边界问题。
漏桶:
优点:可以很好的控制消费频率;
缺点:实现稍微复杂,单位时间内,不能多消费,感觉不太灵活。
令牌桶:
优点:可以解决“漏桶”不能灵活消费的问题,又能避免过渡消费,强烈推荐;
缺点:实现稍微复杂,其它缺点没有想到。
Redis + Lua 分布式限流:
优点:支持分布式限流,有效保护下游依赖的服务资源;
缺点:依赖 Redis,对边界没有很好处理,导致限流不能精准控制。
展开
评论
关注了
字节跳动青训营
VIP.4 融会贯通
个人成就
文章被阅读 181
掘力值 31
收藏集
0
关注标签
0
加入于