典型的工程模式
超时
不要永久地等待下去
这修复了什么?
慢或者处于饥饿状态的服务。
保持开放的连接会让这种饥饿状态加剧。

重试
瞬时错误可以重试。
这修复了什么?
网络环境倾向于不稳定。

故障转移
尝试 x 次然后等待一会儿再次尝试。
这修复了什么?
环境可以向上扩展或者向下缩容,实例可以互相切换,不然服务就会挂掉。

背压
背压的一种形式是节流
这修复了什么?
那些沟通繁忙的服务或者有很多事件的服务,可能会出现往管道里塞入的速度超过接收者处理它们的速度(缓冲)。

兜底
如果服务不响应,就使用一个兜底或者后备值。
这修复了什么?
保持调用链在线。即使在故障情况下也能继续执行。

断路器
如果有故障,就打开断路器,直到一段时间过去
这修复了什么?
缓解下游系统的压力。

负载均衡
多个实例处理请求
这修复了什么?
帮助某些服务均衡负载。

评论
