REL05-BP07 实施紧急杠杆
紧急杠杆是可帮助您的工作负载减轻可用性影响的快速流程。
紧急杠杆的工作原理是使用已知且经过测试的机制,禁用、节流或更改组件或依赖项的行为。这可以缓解因需求意外增加导致资源耗尽而造成的工作负载损失,并减少工作负载中非关键组件故障的影响。
期望结果:通过实施应急杠杆,您可以建立已知良好的流程,以保持工作负载中关键组件的可用性。在激活紧急杠杆期间,工作负载应进行优雅降级,并继续执行其关键业务功能。有关优雅降级的更多详细信息,请参阅 REL05-BP01 实施优雅降级以将适用的硬依赖关系转换为软依赖关系。
常见反模式:
- 
      
非关键依赖关系的故障会影响核心工作负载的可用性。
 - 
      
在非关键组件受损时,不测试或验证关键组件的行为。
 - 
      
没有为紧急杠杆的激活或停用定义明确的标准。
 
建立此最佳实践的好处:实施紧急杠杆可以为解析器提供既定的流程来应对意外的需求激增或非关键依赖关系的故障,从而提高工作负载中关键组件的可用性。
在未建立这种最佳实践的情况下暴露的风险等级:中
实施指导
- 
        
识别工作负载中的关键组件。
 - 
        
设计和构建工作负载中的关键组件,使其能够承受非关键组件的故障。
 - 
        
进行测试以验证关键组件在非关键组件出现故障期间的行为。
 - 
        
定义和监控相关指标或触发器,以启动紧急杠杆程序。
 - 
        
定义构成紧急杠杆的(手动或自动)程序。
 
实施步骤
- 
          
识别工作负载中的关键业务组件。
- 
              
工作负载中的每个技术组件都应与相关业务职能相对应,并评定为关键组件或非关键组件。有关 Amazon 关键和非关键功能的示例,请参阅 Any Day Can Be Prime Day: How Amazon.com Search Uses Chaos Engineering to Handle Over 84K Requests Per Second
。  - 
              
这既是技术决策又是业务决策,而且因组织和工作负载而异。
 
 - 
              
 - 
          
设计和构建工作负载中的关键组件,使其能够承受非关键组件的故障。
- 
              
在分析依赖项期间,考虑所有潜在的故障模式,并验证您的紧急杠杆机制是否为下游组件提供了关键功能。
 
 - 
              
 - 
          
进行测试以验证关键组件在紧急杠杆激活期间的行为。
- 
              
避免双模态行为。有关更多详细信息,请参阅 REL11-BP05 使用静态稳定性来防止双模态行为。
 
 - 
              
 - 
          
定义和监控相关指标并针对指标发出警报,以便启动紧急杠杆程序。
- 
              
根据工作负载,找到要监控的正确指标。例如,这些指标可以是延迟,或者是对依赖项请求失败的次数。
 
 - 
              
 - 
          
定义构成紧急杠杆的手动或自动程序。
 
资源
相关最佳实践:
相关文档:
相关视频: