初识Sentinel--雪崩问题及其解决方法
什么是雪崩问题?
雪崩问题:微服务调用链中的某个服务故障,引起整个链路中的所有微服务不可用。
解决雪崩问题的常见四种方式:
①超时处理:设定超时时长,请求超过一定时间没有响应就返回错误信息,不会无休止的等待。
为什么说超时处理只是缓解了雪崩问题?
因为超时处理的处理情景下,在设定等待时间的情况下,如果释放资源的速度没有请求的速度快的话,终有一天,服务A的资源也有可能耗尽。所以说只是缓解了雪崩问题。
②舱壁模式:限定每个业务能使用的线程数,避免耗尽整个tomcat资源,因此也叫线程隔离
解决了雪崩问题。但是会造成资源浪费
③熔断降级:由断路器统计业务执行的异常比例,如果超出阈值则会熔断该业务,拦截访问该业务的一切请求。
避免因服务故障引起雪崩问题。针对上三种解决方式。
④流量控制:限制业务访问的QPS,避免服务因流量突增而故障。
QPS:每秒钟处理的请求的数量
流量控制是预防雪崩问题的出现。
避免因瞬间高并发流量而导致服务故障。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统