服务降级和服务熔断都是从应用层面,或者说服务层面,
一、服务降级指的是,通过页面、服务等有策略地进行服务降级,尽可能正确地响应大部分用户的请求。通俗来说,就是如果无法
处理该问题时,给一个默认结果。
1、常见的降级方案:
1)自动降级:
》超时:主要为配置好超时时间和超时重试次数,同时通过异步的方式探测回旋情况
》失败次数:常用于一些不稳定的api ,容易出现故障,达到一定次数时,设置自动降级,也通过异步的方式探测回旋情况
》故障:比如远程访问网络故障,dns故障,还有远程服务挂掉,缓存故障等出现时,自动降级。
》限流:和通常所说的限流是一致的。如抢购等,通过限制访问数量,采取无货回复、排队等待、错误回复等方式处理。
2)人工降级:
秒杀、 双十一大促等,手动设置可访问的数量
二、服务熔断,是指软件系统因为某些原因发生错误,为了减少对其他服务的影响,对该服务进行熔断处理。常见于某时刻负载
过大,也常被称为过载保护。
三、服务降级和服务熔断,
有些共性:
1、目的:都是为了尽可能返回给用户正确的相应。
2、最终表现:尽可能让用户感觉体验良好,而非系统卡顿,无响应,
3、粒度:常用于应用层面,或者说服务层面,极少也存在于数据库层面