作者:禅与计算机程序设计艺术
1.简介
Spring Cloud Sleuth 是 Spring Cloud 中的一个组件,它能够帮助开发者完成分布式系统中的跟踪(tracing)工作,包括收集整合数据生成分布式调用链、监控各个服务节点的延迟和错误信息等。在实际生产环境中,开发者往往希望能够通过统一的界面查看各个服务间的调用关系、各项指标的变化,这就是分布式链路追踪工具Zipkin的作用。本文将从以下几个方面阐述如何利用Spring Cloud Sleuth实现分布式链路追踪功能:
- Spring Cloud Sleuth 的安装与配置
- 服务端配置及客户端埋点
- TraceId生成策略与数据采集方式选择
- 数据展示方式
- 日志收集配置与分析
- Spring Boot Admin 和 Zipkin 对接
- 使用场景和建议
本文假设读者对Spring Cloud框架的使用以及微服务架构有一定了解,并熟悉常用的RESTful接口设计方法。
2.基本概念术语说明
分布式链路追踪(Distributed Tracing),也称为全链路追踪(Full Tracing),是微服务架构的一项重要特性。它提供了一种用来跟踪分布式应用调用流程的解决方案。主要涉及到的概念或术语有:Span、Trace、Span ID、Trace ID、Baggage Items等。其中,Span是链路中纤细的步骤或者节点,Trace则是指这些步骤或节点集合,由同一根根Span ID连接起来,一个Trace通常跨越