MST

星途 面试题库

面试题:微服务架构中常见的故障容错机制有哪些

请列举微服务架构下几种常见的故障容错机制,并简要说明每种机制在应对微服务故障时的基本原理和应用场景。
16.9万 热度难度
后端开发微服务架构

知识考点

AI 面试

面试题答案

一键面试
  • 熔断机制
    • 基本原理:当某个微服务的失败率或错误率达到一定阈值时,熔断器会跳闸,后续请求不再直接调用该微服务,而是快速返回一个预设的响应,避免长时间等待和大量无效请求。一段时间后,熔断器会尝试半开状态,允许少量请求通过,若请求成功,熔断器恢复正常关闭状态;若仍失败,则继续保持跳闸状态。
    • 应用场景:适用于依赖的微服务不稳定,可能出现大量超时、错误的场景,如第三方接口调用。避免因依赖服务故障导致自身服务雪崩。
  • 降级机制
    • 基本原理:主动关闭一些非核心功能或服务,释放系统资源,优先保障核心业务的可用性。通过预先定义好的降级策略,在系统出现故障或压力过大时执行。
    • 应用场景:高并发场景下,当系统资源紧张,为保证核心交易等功能正常运行,可对一些如用户个性化推荐等非核心功能进行降级。
  • 重试机制
    • 基本原理:当请求微服务失败时,在一定条件下(如失败原因是网络瞬时故障等),自动重新发起请求,尝试多次直到成功或达到最大重试次数。每次重试可设置一定的时间间隔。
    • 应用场景:适用于因临时性网络波动、服务短暂过载等原因导致的偶发性故障。例如数据库连接偶尔超时,通过重试可能成功建立连接。
  • 限流机制
    • 基本原理:限制单位时间内对微服务的请求数量,防止因请求过多导致服务过载。常见的限流算法有令牌桶算法、漏桶算法等。令牌桶算法以固定速率生成令牌放入桶中,请求来时从桶中获取令牌,无令牌则拒绝请求;漏桶算法则按固定速率流出请求,多余请求在桶中等待或直接丢弃。
    • 应用场景:防止恶意请求或突发流量打垮微服务,如对频繁查询用户信息接口进行限流,保障系统整体稳定运行。