熔断机制

熔断(Circuit Breaker)是微服务系统弹性治理的核心机制之一。Envoy 支持多维度的熔断参数,能够在后端服务异常或过载时,及时阻断流量,防止级联故障和雪崩效应。

熔断原理与工程意义

熔断器通过限制集群的最大连接数、请求数、重试数等,防止后端服务被压垮。当阈值被触发时,Envoy 会直接拒绝新请求或连接,保护后端服务的可用性。

常见场景:

  • 后端服务短时不可用或响应变慢,防止请求洪峰进一步加剧故障。
  • 高并发下主动丢弃部分请求,保障核心业务优先。

主要参数说明

  • max_connections:最大并发连接数,超出后新连接被拒绝。
  • max_pending_requests:最大排队请求数,超出后新请求被拒绝。
  • max_requests:最大并发请求数,超出后新请求被拒绝。
  • max_retries:最大并发重试数,超出后新重试被拒绝。
  • retry_budget:可选,限制重试比例,防止重试风暴。

可针对不同优先级(DEFAULT/HIGH)分别配置。

典型配置片段

circuit_breakers:
  thresholds:
    - priority: DEFAULT
      max_connections: 1000
      max_pending_requests: 100
      max_requests: 2000
      max_retries: 3
    - priority: HIGH
      max_connections: 2000
      max_pending_requests: 200
      max_requests: 4000
      max_retries: 5

工程实践建议

  • 所有生产集群建议开启熔断,合理设置阈值,防止雪崩。
  • 结合业务优先级,区分 DEFAULT/HIGH 两类流量的熔断参数。
  • 配合健康检查、异常检测,形成完整的弹性治理闭环。
  • 监控熔断相关指标(如 overflow 计数),及时发现和优化配置。
  • 熔断阈值建议结合实际流量和后端容量定期评估调整。

熔断是微服务弹性架构的第一道防线,建议在所有关键集群强制开启并持续优化。

文章导航

章节内容

这是章节的内容页面。

章节概览