【分布式链路追踪-pt1】初识分布式链路追踪

一 初识分布式链路追踪

1 什么是分布式链路追踪?

分布式链路追踪即将一次分布式服务请求还原成调用链路的形式。将分布式服务中各个服务节点的相关指标显示地展示出来。

2 为什么需要追踪链路?

在了解链路追踪之前,我们先看一下简单的分布式系统是怎么样的,就以最常见到的图书管理系统为例,将其系统架构设计为分布式的,各个服务可以如图所示:
在这里插入图片描述
考虑第一种情况:
小明同学在pc上操作向图书馆借了一本书,看了两章觉得还不错,决定买下来,于是用手机app查询书名,点击购买,最后由于系统原因显示报空指针异常。对于用户来说,仅能定位为系统原因,但对于开发人员来说,在没有分布式链路追踪的情况下想要定位某一服务原因就比较困难。
先来看一下上述操作各个服务之间的调用情况
在这里插入图片描述

可以看到各个服务之间的调用情况比较复杂,当开发人员在没有链路追踪的情况下,想要去复现小明同学的问题查找原因。可能需要以下步骤:

1:对经营服务进行购买模拟操作,debug查找问题步骤,确认是否是发起购买后经营服务接口超时,不是则进行第二步查询书籍当前借还情况;
2:对借还服务调用,debug查找问题,确认是否借还服务查DB导致超时问题,发现借还服务查询到该书籍借出状态,查询借出人和购买者是否为同一人,需要查询读者管理服务进入第三步;
3:查询读者管理服务确认借书人和购书人id是否一致,进行debug查找问题,发现查库也是正常的,允许购买,此时进行到第四步;
4:确认购买者信息一致,进入订单系统发起订单,再到库存管理服务对库存量进行修改,订单服务确认订单,最后打印服务打印凭条时发现打印查询前几个服务的书籍打印信息存在空指针。

整个过程下来几乎将所有服务走了一遍,但最终仅能定位到一个服务上的问题,花费大量的时间在debug找问题,考虑图书管理系统可能是一个小团队开发的项目,debug发现问题的速度会比较快,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值