作者
殷康璘, 杜庆峰
发表日期
2021/2/7
期刊
Journal of Software
卷号
32
期号
5
页码范围
1231-1255
简介
微服务架构近年来已成为互联网应用所采用的主流架构模式. 然而与传统的软件架构相比, 微服务架构更加复杂的部署结构使其面临更多能够导致系统发生故障的潜在威胁, 且微服务架构系统故障的症状也更加多样化. 在可靠性等一些传统的软件度量已不能充分体现微服务架构系统故障应对能力的情况下, 微服务的开发者们开始使用 “韧性 (resilience)” 一词描述微服务架构系统的故障应对能力. 为了提高微服务架构系统的韧性, 开发者往往需要针对特定的系统环境扰动因素设计应对机制. 如何判断一个系统环境扰动因素是否为影响微服务系统韧性的风险因素, 以及如何在系统运行发布之前尽可能多地寻找到这些潜在的韧性风险, 都是微服务架构系统开发过程中待研究的问题. 在先前研究中提出的微服务韧性度量模型的基础上, 结合混沌工程, 提出了针对微服务架构系统的韧性风险识别和分析方法. 韧性风险的识别方法通过不断地向微服务架构系统引入随机系统环境扰动并观察系统服务性能的变化, 寻找系统潜在的韧性风险, 大幅度减少了软件风险识别过程中的人力成本. 对于识别到的韧性风险, 通过收集执行混沌工程过程中的系统性能监控数据, 韧性风险分析方法将利用因果搜索算法构建出各项系统性能指标之间的影响链路, 并将可能性较高的链路提供给运维人员, 作为进一步分析的参考. 最后, 通过在一个微服务架构系统上实施的案例, 研究展示了所提出的韧性风险识别和分析方法的有效性.
引用总数