首页 | 本学科首页   官方微博 | 高级检索  
     

面向Java微服务系统的透明请求追踪及采样方法
引用本文:黄梓程,陈鹏飞,余广坝,陈泓仰. 面向Java微服务系统的透明请求追踪及采样方法[J]. 软件学报, 2023, 34(7): 3167-3187
作者姓名:黄梓程  陈鹏飞  余广坝  陈泓仰
作者单位:中山大学计算机学院,广东广州510006
基金项目:广东省重点领域研究计划(2020B010165002);国家自然科学基金青年项目(61802448);广东省自然科学基金面上项目(2019A1515012229);广州市基础与应用基础研究项目(202002030328)
摘    要:微服务因其敏捷的开发方式、快速的部署方式,逐渐成为以云为基础的软件系统的主流架构方式之一.但是,微服务系统结构复杂,动辄上百个服务实例,而且服务之间的调用关系异常复杂,当微服务系统中出现异常时,难以定位故障根因.为了解决这个问题,端到端请求追踪(trace)成为微服务系统监控的标配.然而现有的分布式请求追踪实现方式对应用程序具有侵入性,严重依赖于开发者对请求追踪的经验,无法在运行时控制追踪功能的开启和关闭.这些不足不仅会增加开发者的负担,而且限制了分布式请求追踪技术的实际应用.设计并实现对程序开发者透明的请求追踪系统Trace++,能够自动生成追踪代码,利用动态代码插桩技术将追踪代码注入到运行中的应用程序. Trace++对程序低侵入,对开发者透明,能够灵活控制追踪功能的开启和关闭.此外, Trace++的自适应采样方法有效减少了请求追踪产生的开销.在微服务系统TrainTicket上的实验结果证明, Trace++能够准确发现服务依赖关系.在开启请求追踪时,性能开销接近于源代码插桩,在关闭请求追踪时无性能开销.此外, Trace++的自适应采样方法在采样到具有代表性样本的同时减少了8...

关 键 词:请求追踪  动态插桩  采样  微服务  云计算
收稿时间:2021-02-08
修稿时间:2021-08-03

Transparent Request Tracing and Sampling Method for Java-based Microservice System
HUANG Zi-Cheng,CHEN Peng-Fei,YU Guang-B,CHEN Hong-Yang. Transparent Request Tracing and Sampling Method for Java-based Microservice System[J]. Journal of Software, 2023, 34(7): 3167-3187
Authors:HUANG Zi-Cheng  CHEN Peng-Fei  YU Guang-B  CHEN Hong-Yang
Affiliation:School of Computer Science and Engineering, SUN Yat-Sen University, Guangzhou 510006, China
Abstract:
Keywords:request tracing  dynamic instrumentation  sampling  microservice  cloud computing
本文献已被 万方数据 等数据库收录!
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号