分布式系统的服务链路追踪原理

场景:

开发和运维人员从入口服务A开始查起,确认服务A没有问题,然后到服务B,在服务B中进行排查,确认服务B没有问题,在传递到服务C中进行排查,以此类推。有时查一个问题,会把服务架构中的多个应用查询一遍,而有时出问题的系统恰恰是底层系统,在排查了多个不必要的系统后才能准确的定位问题。
如何解决该问题呢?那就是服务调用链路跟踪

调用链路跟踪

谷歌在2010年发布的Dapper论文中介绍了谷歌分布式系统跟踪的基础原理和架构,介绍了谷歌以低成本实现应用级透明的遍布多个服务的调用链跟踪系统的方法。
Dapper开始仅仅是一个独立的调用链路跟踪系统,后来逐步演化为一个监控平台,并且在监控平台上孕育了许多工具。
典型的分布式系统的调用关系图:
在这里插入图片描述
服务调用结构是一个树型结构,树节点是整个架构的基本单元,每个节点是一个独立的服务节点。在谷歌的Dapper论文中,每个节点都对应一个Span,节点之间的连线表示Span和它的父Span之间的关系,具体表现为一次调用请求和响应的调用关系。
我们先关注两个服务之间的同学,两个服务之间有成千上万次通信,服务1与服务2进行交互时,会发送一个请求1,并接收到一个响应1,那么我们通过什么手段标示响应和请求是一对呢?

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值