超时

不要永久地等待下去

这修复了什么?

慢或者处于饥饿状态的服务。

保持开放的连接会让这种饥饿状态加剧。


重试

瞬时错误可以重试。

这修复了什么?

网络环境倾向于不稳定。

故障转移

尝试 x 次然后等待一会儿再次尝试。

这修复了什么?

环境可以向上扩展或者向下缩容,实例可以互相切换,不然服务就会挂掉。

背压

背压的一种形式是节流

这修复了什么?

那些沟通繁忙的服务或者有很多事件的服务,可能会出现往管道里塞入的速度超过接收者处理它们的速度(缓冲)。

兜底

如果服务不响应,就使用一个兜底或者后备值。

这修复了什么?

保持调用链在线。即使在故障情况下也能继续执行。


断路器

如果有故障,就打开断路器,直到一段时间过去

这修复了什么?

缓解下游系统的压力。

负载均衡

多个实例处理请求

这修复了什么?

帮助某些服务均衡负载。