草稿:快速失败系统
外观
此條目没有列出任何参考或来源。 (2024年11月13日) |
![]() | 本草稿尚未提交審核
提交前,请先查閱維基百科不是什麼,以免犯下常見錯誤。 要让草稿被接受,需要至少满足以下要求:
我们强烈不鼓励您創建與您自己、您所在的組織、其對手或其產品相關的條目。如果您仍要这么做,请申报利益冲突。 注意:若您提交之后,本模板出现在页面最下方,表示您已成功提交。
如何改善您的草稿
| ![]() |
在系統設計中,Fail-fast系统(快速失败系统)是指一系統在可能會失效的情形下,會立刻透過其介面回報問題。Fail-fast系统的設計理念是在流程可能有缺陷時,會终止正常操作,不會试图继续执行。这种设计会在運作過程中多个节点检查系统状态,目的是為了尽早发现错误。Fail-fast模块的职责是检测错误,并将其交由直接上一级的系统进行处理。
硬件和软件
[编辑]在以下几种情况下,快速失败系统或模块是可取的:
- Fail-fast 架构基于一种错误处理策略,其中任何检测到的错误或非预期状态都会导致系统快速失败。从某种意义上说,这种错误处理策略与容错系统中采用的策略相反。在容错系统中,错误处理策略通过引入冗余组件来应对,当某个组件发生故障时,将计算请求转移到正常运行的组件。看似矛盾的是,Fail-fast 系统实际上增强了容错系统的弹性。例如,对于一个数据库,即使有 10 台冗余服务器,但如果这10台服务器的共享配置被更新为错误的客户端身份验证数据,那么它们都会“冗余失败”。在这种情况下,Fail-fast 系统会确保所有 10 台冗余服务器尽快停机,从而促使 DevOps 迅速响应。
- Fail-fast 组件通常用于这样一种情况:由于延迟初始化,一个组件的错误可能不会被察觉,直到导致另一个组件发生致命错误。例如“由于文件系统路径设置错误而注定要失败的系统,是否会在启动时失败,因为在启动时没有检查文件系统路径。仅当客户端请求到达时,系统才会随机出现故障。
- 在 Fail-fast 系统中,查找错误原因更容易,因为系统会尽可能接近错误发生的时间报告尽可能多的信息。在容错系统中,错误可能无法被发现;而在既不容错也非 Fail-fast 的系统中,错误可能会被暂时隐藏,直到它在后续引发一些看似无关的问题。
- Fail-fast 系统被设计为在发生错误时既停机又报告错误信息,从而降低执行不可逆或高成本错误操作的可能性。