每日一博 | 无需编写一行代码,实现任何方法的流量防护能力
作者:十眠 背景 微服务的稳定性一直是开发者非常关注的话题。随着业务从单体架构向分布式架构演进以及部署方式的变化,服务之间的依赖关系变得越来越复杂,业务系统也面临着巨大的高可用挑战。疫情期间,大家可能都经历过以下的场景: 线上预约购买口罩时瞬间洪峰流量导致系统超出最大负载,load 飙高,用户无法下单; 在线选课时同一时刻提交选课的请求过多,系统无法响应; 在线办公/教学时同时在线会议的用户过多,会议比较卡; 这些可用性下降的场景会严重影响用户体验,所以我们需要预先通过一些手段来提前对不稳定的因素进行防护,同时在突发流量的情况下我们也要具备快速止损的能力。 流控降级 - 保障微服务稳定性重要的一环 影响微服务可用性的因素有非常多,而这些不稳定的场景可能会导致严重后果。我们从微服务流量的视角来看,可以粗略分为两类常见的场景: 服务自身流量超过承载能力导致不可用。比如激增流量、批量任务投递导致服务负载飙高,无法正常处理请求。 流量是非常随机性的、不可预测的。前一秒可能还风平浪静,后一秒可能就出现流量洪峰了(例如双十一零点的场景)。然而我们系统的容量总是有限的,如果突然而来的流量超过了系统的...
