引用本文:张齐勋,吴一凡,杨勇,贾统,李影,吴中海.微服务系统服务依赖发现技术综述.软件学报,2024,35(1):118-135
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 2845次   下载 5891 本文二维码信息
码上扫一扫!
分享到: 微信 更多
微服务系统服务依赖发现技术综述
张齐勋1,2, 吴一凡2, 杨勇1, 贾统3, 李影2,4, 吴中海2,4
1.北京大学 信息科学技术学院, 北京 100871;2.北京大学 软件与微电子学院, 北京 102600;3.北京大学 人工智能研究院, 北京 100871;4.北京大学 软件工程国家工程研究中心, 北京 100871
摘要:
微服务架构得到了广泛的部署与应用, 提升了软件系统开发的效率, 降低了系统更新与维护的成本, 提高了系统的可扩展性. 但微服务变更频繁、异构融合等特点使得微服务故障频发、其故障传播快且影响大, 同时微服务间复杂的调用依赖关系或逻辑依赖关系又使得其故障难以被及时、准确地定位与诊断, 对微服务架构系统的智能运维提出了挑战. 服务依赖发现技术从系统运行时数据中识别并推断服务之间的调用依赖关系或逻辑依赖关系, 构建服务依赖关系图, 有助于在系统运行时及时、精准地发现与定位故障并诊断根因, 也有利于如资源调度、变更管理等智能运维需求. 首先就微服务系统中服务依赖发现问题进行分析, 其次, 从基于监控数据、系统日志数据、追踪数据等3类运行时数据的角度总结分析了服务依赖发现技术的技术现状; 然后, 以基于服务依赖关系图的故障根因定位、资源调度与变更管理等为例, 讨论了服务依赖发现技术应用于智能运维的相关研究. 最后, 对服务依赖发现技术如何准确地发现调用依赖关系和逻辑依赖关系, 如何利用服务依赖关系图进行变更治理进行了探讨并对未来的研究方向进行了展望.
关键词:  服务依赖  故障诊断  微服务
DOI:10.13328/j.cnki.jos.006827
分类号:
基金项目:广东省重点领域研发计划(2020B010164003); 华为产学研合作课题2021–2022
Survey on Service Dependency Discovery Technologies for Microservice Systems
ZHANG Qi-Xun1,2, WU Yi-Fan2, YANG Yong1, JIA Tong3, LI Ying2,4, WU Zhong-Hai2,4
1.School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China;2.School of Software and Microelectronics, Peking University, Beijing 102600, China;3.Institute for Artificial Intelligence, Peking University, Beijing 100871, China;4.National Engineering Research Center for Software Engineering, Peking University, Beijing 100871, China
Abstract:
Microservice architectures have been widely deployed and applied, which can greatly improve the efficiency of software system development, reduce the cost of system update and maintenance, and enhance the extendibility of software systems. However, However, microservices are characterized by frequent changes and heterogeneous fusion, which result in frequent faults, fast fault propagation, and great influence. Meanwhile, complex call dependency or logical dependency between microservices makes it difficult to locate and diagnose faults timely and accurately, which poses a challenge to the intelligent operation and maintenance of microservice architecture systems. The service dependency discovery technology identifies and deduces the call dependency or logical dependency between services from data during system running and constructs a service dependency graph, which helps to timely and accurately discover and locate faults and diagnose causes during system running and is conducive to intelligent operation and maintenance requirements such as resource scheduling and change management. This study first analyzes the problem of service dependency discovery in microservice systems and then summarizes the technical status of the service dependency discovery from the perspective of three types of runtime data, such as monitoring data, system log data, and trace data. Then, based on the fault cause location, resource scheduling, and change management of the service dependency graph, the study discusses the application of service dependency discovery technology to intelligent operation and maintenance. Finally, the study discusses how service dependency discovery technology can accurately discover call dependency or logical dependency and use service dependency graph to conduct change management and predicts future research directions.
Key words:  service dependency  fault diagnosis  microservice

引用本文:
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览次   下载  
分享到: 微信 更多
摘要:
关键词:  
DOI:
分类号:
基金项目:
Abstract:
Key words: