最常见的限流算法!
发布时间
阅读量:
阅读量
限流简介
在讨论高可用性时(段落1),我们通常会涉及缓存、降级和限流等保护手段(段落2)。本文重点阐述的是限流机制(段落3)。限流机制的核心作用是通过流量控制(Rate Limiting),即对特定事件的请求进行筛选(简称RBL),将超出限制的部分予以拒绝服务、排队等待处理或降级处理(段落4)。从服务器端的角度来看,在保证一定数量的请求能够正常响应的同时接受更多请求(段落5),相较于全部请求被拒绝导致系统崩溃而言(段落6), 采用限流策略是一个更为稳妥的选择(段落7)。此外,在功能实现上, 与熔断机制有所不同, 限流主要应用于服务器端处理, 而熔断则常用于客户端管理(段落8)。值得注意的是, 同一个服务实体既可以承担服务器角色, 同时也可以扮演客户端角色, 这正是导致这两种概念容易混淆的原因所在(段落9)。
那为什么要实施流量控制呢?有人的第一反应是担心服务器承受不了负载压力而导致系统崩溃或服务中断。实际上博主的观点认为流量控制主要是基于资源短缺的问题以及为了安全考虑采取的一种自我保护措施。通过实施流量控制策略能够有效地利用有限的资源来满足预期的服务需求,在超出预期负载时会采取拒绝新请求、排队等待或降级服务等措施以保障系统的稳定运行。
在HTTP RFC 6585标准中定义了『429 Too Many Requests 』状态码,在超出规定速率的请求次数出现时会触发该
全部评论 (0)
还没有任何评论哟~
