03-06 分布式链路

分布式链路

入门篇

简介

分布式调用链,就是将一次分布式服务群的请求,按着顺序还原成调用链路。可以清楚的查看一次分布式请求的调用情况,比如各个节点上的耗时、请求具体打到了哪台机器上、每个服务节点的请求状态等等。

基本功能

  • 故障快速定位

  • 各个调用环节的性能分析:平均延时、QPS等

  • 生成调用拓扑图

根据这些功能,可以实现的使用场景

带来的问题

  • 如何标识一次请求

  • 如何处理调用顺序、调用分支,如1-1.1-2、1-1.2

  • 开发如何不用感知

  • 如何不影响系统性能

  • 如何持久化日志信息

基本命令

三大组件

追踪组件 -- 负责收集数据

问题

a. 最初的调用方是谁?

b. 请求在每个节点执行多长时间、当前节点的调用方是谁?

c. 怎么把这些数据联系起来?

解决

traceId, 标识一次请求

spanId, 标识一个节点

parentSpanId,标识父节点

Fegin调用添加相关header:https://blog.csdn.net/baidu_30744225/article/details/111294383

存储组件 -- 存储收集的数据

收集
  1. AOP

  2. 拦截器

  3. Javagent

存储
  • Elk: 日志存储

  • Mysql: 调用机器节点,之后查看拓扑图,traceId实现分库分表

展示组件 -- 展示收集的数据

高级篇

你可能感兴趣的:(03-06 分布式链路)