典型的工程模式
超时
不要永久地等待下去
这修复了什么?
慢或者处于饥饿状态的服务。
保持开放的连接会让这种饥饿状态加剧。
重试
瞬时错误可以重试。
这修复了什么?
网络环境倾向于不稳定。
故障转移
尝试 x 次然后等待一会儿再次尝试。
这修复了什么?
环境可以向上扩展或者向下缩容,实例可以互相切换,不然服务就会挂掉。
背压
背压的一种形式是节流
这修复了什么?
那些沟通繁忙的服务或者有很多事件的服务,可能会出现往管道里塞入的速度超过接收者处理它们的速度(缓冲)。
兜底
如果服务不响应,就使用一个兜底或者后备值。
这修复了什么?
保持调用链在线。即使在故障情况下也能继续执行。
断路器
如果有故障,就打开断路器,直到一段时间过去
这修复了什么?
缓解下游系统的压力。
负载均衡
多个实例处理请求
这修复了什么?
帮助某些服务均衡负载。
评论