【软工方法论49】链路追踪系统设计

【软工方法论49】链路追踪系统设计

【软工方法论49】319_链路追踪系统设计

链路追踪系统设计

你有没有遇到过这种情况?

接口超时了:

  • 不知道哪个服务慢
  • 不知道调用链路
  • 只能一个个服务排查
  • 排查半天找不到问题

链路追踪就是来解决这个问题的。

一、链路追踪概述

1. 分布式调用的问题

单体应用调用: 用户 → 应用 → 数据库 ↓ 一个请求 一个调用栈 微服务调用: 用户 → 网关 → 服务A → 服务B → 服务C → 数据库A ↓ ↓ ↓ ↓ 链路1 链路2 链路3 链路4 ↓ 跨服务调用 调用链路复杂 问题定位困难

2. 链路追踪概念

链路追踪核心概念: Trace(追踪) └── 一次请求的完整链路 └── Span(跨度) └── 一次操作 ├── traceId: 追踪ID ├── spanId: 跨度ID ├── parentId: 父跨度ID ├── opera