优雅降级的设计模式
1. 引言
在硬件和软件系统的运行过程中,难免会遭遇各种意外事件,那些导致系统或其部分功能失效的事件被称作错误。为应对这些错误,人们设计了多种容错技术。部分技术借助冗余机制,如主机、磁盘、内存单元等的副本,来恢复无错状态并让系统继续运行;而另一些技术则无需副本,通过移除受错误影响的部分,使未受影响的部分继续执行。
优雅降级便是这样一种技术,它指的是系统的某些特定功能在遇到错误时,平滑地过渡到较低状态。这种技术在众多领域都有应用,例如图像处理、电信、共享内存多处理器等。下面以一个简化的窗口管理器 WM 为例,它除了基本的窗口管理功能外,还具备 3D 阴影、光标动画等图形功能。若 3D 阴影组件出现错误,在没有容错机制修复的情况下,WM 不会崩溃或停止运行,而是移除该组件,继续提供其他功能,实现功能的优雅降级。
2. 系统概述
在探讨优雅降级模式之前,有必要先了解其适用的系统领域。通过对优雅降级定义的分析,可得出适用该技术的系统具有以下特征:
- 平滑过渡 :状态转换的运行时成本是可接受的,不会违反系统的运行时行为规范。
- 功能模块化 :系统由多个不同的功能组成,如内存容量、存储容量、服务集合等。
- 多状态性 :系统功能除了完整状态外,还有其他可接受的状态,系统在这些较低状态下仍能继续有意义地运行。
- 错误检测能力 :系统具备检测错误并将其定位到具体组件的能力。
此外,还有一些参数会影响优雅降级的应用方式:
|参数|
超级会员免费看
订阅专栏 解锁全文
641

被折叠的 条评论
为什么被折叠?



