更新时间:2024-07-16 GMT+08:00
分享

RES08-01 减少强依赖项

系统内组件之间强依赖时,一个组件故障会对其他组件造成直接影响,影响系统可用性。

  • 风险等级

  • 关键策略

    可以通过以下技术将强依赖项转换为非强依赖项:

    • 提高关键依赖项的冗余级别,降低该关键组件不可用的可能性。
    • 与依赖项的通信采用异步消息并支持超时重试,或发布/订阅消息功能将请求与响应分离,以便依赖项从短时故障中恢复。
    • 依赖项长时间无法访问时,应用程序应能继续执行其核心功能,以便将局部故障对整体系统功能的影响减到最小。如所依赖的数据丢失时,应用程序仍能运行,但可以提供稍微陈旧的数据、替代数据,甚至没有数据,应用仍处于可预测和可恢复的状态。
    • 避免启动依赖及循环依赖。若应用系统由于某些原因导致重启时,若依赖于其他依赖项启动或加载关键配置数据,可能会导致应用系统长时间停在启动状态而无法响应外部消息。针对这种情况,应用系统应该先使用缺省配置启动,再检查依赖项的状态或加载最新配置数据,以恢复正常运行。

相关文档