面试题答案
一键面试常见应用场景
- 高并发场景:例如电商的促销活动期间,大量用户同时访问服务。如商品详情服务,瞬间涌入过多请求,若不进行服务降级,可能导致整个服务崩溃,影响其他关键业务。
- 依赖服务故障:当微服务依赖的其他服务出现故障时,比如订单服务依赖的库存服务不可用。如果订单服务不进行降级,可能会一直等待库存服务响应,从而阻塞订单处理流程。
- 网络不稳定场景:如移动应用在信号不好的区域使用,网络时断时续。例如地图应用依赖的定位服务因网络问题无法正常获取位置信息,此时若不进行服务降级,地图功能可能无法正常展示。
为何需要服务降级
- 保证核心业务可用性:在高并发或依赖服务故障时,通过降级非核心业务,将资源优先分配给核心业务,避免因局部问题影响整体业务的可用性,保证用户对核心功能的正常使用。例如电商促销时保证下单等核心流程。
- 防止级联故障:当某个依赖服务出现问题时,不进行服务降级,故障可能会像多米诺骨牌一样,从一个服务蔓延到其他服务,导致整个微服务架构瘫痪。服务降级能切断故障传播路径,保护整个系统。
- 提升用户体验:在网络不稳定等场景下,通过提供有限但可用的功能,比如地图应用在定位服务故障时展示默认位置,而不是让用户面对无响应的界面,从而提升用户体验,减少用户流失。