软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2023年第7期:面向Java微服务系统的透明请求追踪及采样方法

发布日期:

作者:黄梓程,陈鹏飞,余广坝,陈泓仰

单位:黄梓程,中山大学 计算机学院, 广东 广州 51000611,陈鹏飞,中山大学 计算机学院, 广东 广州 51000602,余广坝,中山大学 计算机学院, 广东 广州 51000603,陈泓仰,中山大学 计算机学院, 广东 广州 51000604

关键词:请求追踪;动态插桩;采样;微服务;云计算

基金:广东省重点领域研究计划(2020B010165002);国家自然科学基金青年项目(61802448);广东省自然科学基金面上项目(2019A1515012229);广州市基础与应用基础研究项目(202002030328)

微服务因其敏捷的开发方式、快速的部署方式,逐渐成为以云为基础的软件系统的主流架构方式之一.但是,微服务系统结构复杂,动辄上百个服务实例,而且服务之间的调用关系异常复杂,当微服务系统中出现异常时,难以定位故障根因.为了解决这个问题,端到端请求追踪(trace)成为微服务系统监控的标配.然而现有的分布式请求追踪实现方式对应用程序具有侵入性,严重依赖于开发者对请求追踪的经验,无法在运行时控制追踪功能的开启和关闭.这些不足不仅会增加开发者的负担,而且限制了分布式请求追踪技术的实际应用.设计并实现对程序开发者透明的请求追踪系统Trace++,能够自动生成追踪代码,利用动态代码插桩技术将追踪代码注入到运行中的应用程序.Trace++对程序低侵入,对开发者透明,能够灵活控制追踪功能的开启和关闭.此外,Trace++的自适应采样方法有效减少了请求追踪产生的开销.在微服务系统TrainTicket上的实验结果证明,Trace++能够准确发现服务依赖关系.在开启请求追踪时,性能开销接近于源代码插桩,在关闭请求追踪时无性能开销.此外,Trace++的自适应采样方法在采样到具有代表性样本的同时减少了89.4%的追踪数据.

来源:2023年第7期

《软件学报》期刊编辑部

查看软件学报杂志2023年第7期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员