服务熔断,服务降级

本文介绍了服务雪崩的现象及其引发原因,重点讨论了解决微服务系统雪崩的两种策略:服务熔断和服务降级。服务熔断通过hystrix组件自动触发,防止调用链路中的故障扩散,而服务降级则是在高压力下对非核心服务进行策略性降级,确保核心服务正常运行。两者都是为了提高系统可用性,但触发条件和服务层次不同。熔断可能导致降级,但降级更关注整体负荷和业务层级划分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 服务雪崩
    现象:在一个时刻微服务系统中所有微服务均不可用的这种现象称为服务雪崩
    引发:在调用链路中某个服务执行时间过长,导致自生服务不可用,并把这种情况扩大

2解决微服务系统雪崩问题
    a服务熔断(熔断本是一种开关装置,当某个服务单元发生故障后,通过断路器故障监控某个异常条件被触发,直接熔断整个服务,
                向调用方返回一个符合预期的,可处理的备选响应,而不是长时间等待或抛出无法处理的异常,
                保证服务调用方线程不会长时间占用,避免故障在分布式系统中蔓延乃至雪崩,如果目标服务情况好转,则恢复调用)
    作用:就是在微服务系统中防止服务雪崩现象出现
    熔断机制:所有微服务中必须引入hystrix组件,一旦引入hystrix这个组件就具有服务熔断功能

3服务降级
    服务压力剧增的时候,根据当前业务情况及流量对一些服务和页面有策略的降级,以此幻剑服务器的压力,以保证 核心任务进行,
    同时保证部分甚至大部分任务客户能得到正确的响应。也就是当前的请求处理不了了,给一个默认的返回。
    通俗定义:当网站服务流量突然增加时,为了保证系统核心服务正常运行,有策略关系系统中边缘服务,以保证核心服务正常运行

共同点:都是从可用性着想,为防止系统整体缓慢甚至崩溃,熔断一般是服务基于策略的自动触发,降级虽说可人工干预,但在微服务
        架构下完全人工先然不可能,开关预置配置中心都是必要手段,如sentinel
异同点:出发原因不太一样,服务熔断一般是某个服务(下游服务)故障引起,尔降级一般是从整体负荷考虑;
        管理目标的层次不太一样,熔断其实是一个框架级的处理,每个微服务都需要(无层级之分),而降级一般需要对业务有层级
        之分(比如降级一般是从最外围服务边缘服务开始)
总结:熔断必会触发降级,所以熔断也是降级的一种,区别在于熔断是对调用链路的保护,而降级是对系统过载的一种保护处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值