A BlackBox Approach to Profile Runtime Execution Dependencies in Microservices

A BlackBox Approach to Profile Runtime Execution Dependencies in Microservices
复制标题

DOI:
10.1109/cic58953.2023.00024
复制
发表时间:
2023-11
期刊:
2023 IEEE 9th International Conference on Collaboration and Internet Computing (CIC)
影响因子:
--
通讯作者:
Xuhang Gu;Jianshu Liu;Qingyang Wang
Xuhang Gu;Jianshu Liu;Qingyang Wang
中科院分区:
其他
文献类型:
--
作者:
Xuhang Gu;Jianshu Liu;Qingyang Wang

文献摘要

相似文献

在容器中运行的松耦合、轻量级的微服务很可能在系统内部形成复杂的执行依赖关系。当两个执行路径部分共享组件微服务时,就会出现执行依赖性,从而导致潜在的运行时性能干扰。在本文中,我们提出了一种黑盒方法,该方法利用合法的 HTTP 请求来准确分析目标微服务应用程序中所有受支持的执行路径的内部成对依赖关系。具体来说,我们通过同时发送两种类型的请求的突发来进行性能干扰分析,来分析两个执行路径的成对依赖关系。通过根据成对依赖关系对所有执行路径进行表征和分组,黑盒方法可以得出微服务应用程序整个后端的清晰依赖图。我们通过在真实云(例如 EC2、Azure)上运行的开源微服务基准应用程序的实验来验证黑盒方法的有效性。
Loosely-coupled and lightweight microservices running in containers are likely to form complex execution dependencies inside the system. The execution dependency arises when two execution paths partially share component microservices, resulting in potential runtime performance interference. In this paper, we present a blackbox approach that utilizes legitimate HTTP requests to accurately profile the internal pairwise dependencies of all supported execution paths in the target microservices application. Concretely, we profile the pairwise dependency of two execution paths through performance interference analysis by sending bursts of two types of requests simultaneously. By characterizing and grouping all the execution paths based on their pairwise dependencies, the black box approach can derive a clear dependency graph(s) of the entire backend of the microservices application. We validate the effectiveness of the blackbox approach through experiments of open-source microservices benchmark applications running on real clouds (e.g., EC2, Azure).