[转]失败与错误的对照理解
失败是一种服务内部的意外事件, 会阻止服务继续正常地运行。失败通常会阻止对于当前的、 并可能所有接下来的客户端请求的响应。
和错误相对照, 错误是意料之中的,并且针各种情况进行了处理( 例如, 在输入验证的过程中所发现的错误), 将会作为该消息的正常处理过程的一部分返回给客户端。
而失败是意料之外的, 并且在系统能够恢复至(和之前)相同的服务水平之前,需要进行干预。
这并不意味着失败总是致命的(fatal),虽然在失败发生之后,系统的某些服务能力可能会被降低。
错误是正常操作流程预期的一部分,在错误发生之后,系统将会立即地对其进行处理,并将继续以相同的服务能力继续运行。
失败的例子有:硬件故障、由于致命的资源耗尽而引起的进程意外终止,以及导致系统内部状态损坏的程序缺陷。
作者:阿里巴巴淘系技术
链接:https://zhuanlan.zhihu.com/p/203196487
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。