在服务提供方(Service Provider)的场景下,我们需要保护服务提供方自身不被流 量洪峰打垮。这时候通常根据服务提供方的服务能力进行流量控制,或针对特定的服务 调用方进行限制。我们可以结合前期压测评估核心接口的承受能力,配置 QPS 模式 的限流,当每秒的请求量超过设定的阈值时,会自动拒绝多余的请求。
为了避免调用其他服务时被不稳定的服务拖垮自身,我们需要在服务调用端(Service Consumer)对不稳定服务依赖进行隔离和熔断。手段包括信号量隔离、异常比例降 级、RT 降级等多种手段。
当系统长期处于低水位的情况下,流量突然增加时,直接把系统拉升到高水位可能瞬间 把系统压垮。这时候我们可以借助 Sentinel 的 WarmUp 流控模式控制通过的流量 缓慢增加,在一定时间内逐渐增加到阈值上限,而不是在一瞬间全部放行。这样可以给 冷系统一个预热的时间,避免冷系统被压垮。
利用 Sentinel 的匀速排队模式进行“削峰填谷”,把请求突刺均摊到一段时间内,让 系统负载保持在请求处理水位之内,同时尽可能地处理更多请求。
利用 Sentinel 的网关流控特性,在网关入口处进行流量防护,或限制 API 的调用频 率。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。