-
题名事件驱动的微服务调用链路数据动态采集方法
被引量:3
- 1
-
-
作者
李鹏
赵卓峰
李寒
-
机构
北方工业大学信息学院
大规模流数据集成与分析技术北京市重点实验室(北方工业大学)
-
出处
《计算机应用》
CSCD
北大核心
2022年第11期3493-3499,共7页
-
基金
国家重点研发计划项目(2019YFB1405100)
北京市自然科学基金资助项目(4202021)。
-
文摘
微服务调用链路数据是微服务应用系统日常运行中产生的一类重要数据,它以链路形式记录了微服务应用中一次用户请求对应的一系列服务调用信息。由于系统的分布性,微服务调用链路数据产生在不同的微服务部署节点,当前对这些分布数据的采集一般采用全量采集和采样采集两种方法。全量采集会产生较大数据传输和数据存储等成本,而采样采集则可能会漏掉关键的链路数据。因此,提出一种基于事件驱动和流水线采样的微服务调用链路数据动态采集方法,并基于开源软件Zipkin设计实现了一个微服务调用链路数据动态采集系统。该系统首先对不同节点符合预定义事件特征的链路数据进行流水线采样,即数据采集服务端只在某节点产生事件定义的数据时对所有节点采集同一链路数据;同时,针对不同节点的数据产生速率不一致问题,采用基于时间窗口的多线程流式数据处理和数据同步技术实现不同节点的数据采集和传递;最后,针对各节点链路数据到达服务端先后顺序不一的问题,通过时序对齐方式进行全链路数据的同步和汇总。在公开的微服务调用链路数据集上的实验结果表明,相较于全量采集和采样采集方法,所提方法对于包含异常、慢响应等特定事件的链路数据具有采集准确性高、效率好的效果。
-
关键词
微服务
调用链路数据
动态采样
事件匹配
缓存机制
服务链路追踪
-
Keywords
microservice
invocation link data
dynamic sampling
event matching
caching mechanism
service link tracing
-
分类号
TP311.
[自动化与计算机技术—计算机软件与理论]
-