微服务保护-雪崩问题

雪崩:

微服务调用链路中的某个微服务故障,引起整个链路微服务都不可用,这就是雪崩。(在微服务中,某个微服务故障,导致整个微服务都不可用)

雪崩产生的原因:

微服务相互调用,服务提供者出现故障或阻塞。

服务调用者没有做好异常处理,导致自身故障。

调用链中所有的服务级联失败,导致整个集群故障。

解决方案

请求限流

限制访问请求微服务的并发量,避免服务因流量激增出现故障。(就像漏斗一样,当来很多水时,大口进,从细口小流量流出。)

线程隔离

限制每个业务能使用的线程数量,而将业务故障的隔离,避免故障扩散。(一个微服务会有很多业务,给每个业务都分线程数量。这样即使某个业务出问题了,不会影响其它业务。)

服务熔断

由熔断器统计请求的异常比例或慢调用比例,如果超出阈值则会熔断改业务,拦截该接口的请求。熔断期间,所有请求快速失败,全走fallback逻辑。(fallback失败处理,让业务失败时,不在抛出异常,而是返回默认数据或友好提示)

熔断器状态

closed:熔断器关闭状态。请求可以正常访问。

open:熔断器开启状态。异常或慢调用比例达到阈值,进入该状态。拦截所有请求,快速失败或者走fallback。

half-open:当达到配置的熔断时间结束后,进入该状态。该状态会放一次请求,若失败,进入open熔断状态,若成功进入closed状态。

以上问题可以用sentinel处理

相关推荐
XR1234567881 小时前
企业全光网络架构选型技术白皮书:从物理层到运维层的全链路分析
运维·网络·架构
智慧物业老杨1 小时前
物业如何做好预算管理?落地架构逻辑
人工智能·架构
微学AI1 小时前
一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
开发语言·人工智能·架构·挂谷猜想
张忠琳3 小时前
【NPU】Ascend Docker Runtime v26.0.1 之二 runtime/process/process.go — 超深度逐行分析
云原生·容器·架构·kubernetes·npu·docker-runtime
联众合科技3 小时前
超融合如何助力数据中心现代化转型?从架构重构到落地避坑的完整指南
重构·架构
香菜TTT7 小时前
Kafka_深度解析_从架构原理到生产实践
分布式·架构·kafka·linq
陳陈陳7 小时前
🚀 前端流式输出革命:SSE + BFF 架构从零到一实战指南
vue.js·架构·node.js
张永伟营销8 小时前
从SEO到GEO:技术人视角下的生成式引擎优化架构与实践
搜索引擎·ai·架构
小柒儿3369 小时前
AI原生架构:企业IT从“业务数字化”到“AI原生重构”
重构·架构·ai-native
千维百策66610 小时前
云服务性能下降事件分析:高可用架构与可用区疏散实践
架构