12、系统架构的可用性、容错性及性能优化策略

系统架构的可用性、容错性及性能优化策略

1. 自动重试与故障避免

1.1 Envoy 自动重试

Envoy 作为边车代理,可代表用户执行自动重试,无需对源代码进行更改。例如,可在 Envoy 的路由中添加如下重试策略配置:

retry_policy:
  retry_on: "5xx" 
  num_retries: 3 
  per_try_timeout: 2s

此配置会使 Envoy 在调用返回如 503 HTTP 代码或映射到 5XX 代码的 gRPC 错误时进行重试,共重试 3 次,每次重试若在 2 秒内未完成则视为失败。

1.2 避免级联故障

若无重试机制,错误会在系统中传播,导致级联故障。以下是几种防止此类情况发生的方法:
- 断路器(Circuit Breaker) :该模式能让我们快速察觉服务无法处理请求,从而短路对其的调用。在 Envoy 中,可在配置中添加如下内容:

circuit_breakers: 
  thresholds: 
    - priority: DEFAULT 
      max_connections: 1000 
      max_requests: 1000 
      max_pending_requests: 1000

在调用方实现断路器时,当进行了几次调用且漏桶溢出,可在指定时间内停止发起新调用。
-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值