温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

分布式微服务系统下调用链追踪技术实例分析

发布时间:2022-03-09 16:06:02 来源:亿速云 阅读:207 作者:iii 栏目:开发技术

这篇文章主要介绍“分布式微服务系统下调用链追踪技术实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“分布式微服务系统下调用链追踪技术实例分析”文章能帮助大家解决问题。

1、面试官:

分布式微服务环境下那么多机器,调用链又很长,你们是如何定位问题的?

问题分析这个问题,如果你使用过微服务框架,对于服务治理你一定知道这种技术,如果作为微服务架构的小白,你只是知道一些基础知识,突然被问到这个问题,确实比较懵逼。这么多机器集群,我怎么知道每次服务打到哪个机器上了,我怎么知道到底是哪个环节抛异常了?

我:分布式系统中针对上述问题,我们急需一套链路追踪(Trace)系统来解决这些痛点,这个系统主要的任务就是收集各服务的日志,上报日志,分析日志,保存展示。其关键核心在于调用链,为每个请求生成全局唯一的ID(Traceld),通过Traceld 将不同系统的“孤立地”调用信息关联在一起,还原出更多有价值的数据。

(如果你还不明白到底怎么搞直接看看成品图)

分布式微服务系统下调用链追踪技术实例分析

通过一个Trace查询某一次请求,这个Trace是全剧唯一,通过这个链路追踪系统,你可以清楚的知道服务调用深度,涉及服务个数,每个服务调用的时间及状态,到底是哪个服务出现异常,具体到方法名,查找耗时长的链路时,可以通过在查询结果页面点击“耗时”二字,让数据以耗时升序或降序排列,都一目了然,上面的问题都得到解决了。

2、面试官:

你知道哪些成熟的调用链开源工具? 

Google Dapper

Dapper一开始是一个自包含的跟踪工具,但后来发展成为一个监控平台,具有高性能,代码侵入性低,支持集群扩展特性。

dapper 处理日志分为3个阶段:

  • 各个服务将span数据写到本机日志上;

  • dapper守护进程进行拉取日志文件,将文件读到dapper收集器里;

  • dapper收集器将结果写到bigtable中,一次跟踪被记录为一行。

阿里巴巴的分布式调用跟踪系统 - 鹰眼(EagleEye)

EagleEye 是一个以调用链追踪技术为核心的监控系统,通过收集,存储,分析分布式系统中的调用事件参数,协同开发人员进行故障定位,容量预估,性能瓶颈定位,系统请求链路梳理等,EagleEye 的开发也是基于Google Dapper 的设计思想。

分布式微服务系统下调用链追踪技术实例分析

分布式微服务系统下调用链追踪技术实例分析

美团分布式会话追踪系统 - MTrace

MTrace是美团点评内部的分布式会话跟踪系统,也借鉴了2010年Google的 dapper,通过一个全局的ID将分布在各个服务节点上的同一次请求串联起来,还原原有的调用关系、追踪系统问题、分析调用数据、统计系统指标,MTrace支持美团内部RPC中间件,HTTP中间件,MySQL,Tair,MQ等中间件的数据埋点。

关于“分布式微服务系统下调用链追踪技术实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI