开源分布式跟踪方案概览
- - InfoQ - 促进软件开发领域知识与创新的传播本文最初发表于 RedHat的开发者博客,经RedHat和原作者Juraci Paixão Kröhling授权由InfoQ中文站翻译分享. 入门分布式跟踪可能是一项很艰难的任务. 这个领域有太多新术语、框架和工具,它们有着明显互相重叠的功能,初学者很容易迷失或偏离主题. 本文对最流行的工具进行了概述和分类,能够帮助你掌握分布式跟踪领域的概况.
本文最初发表于 RedHat的开发者博客,经RedHat和原作者Juraci Paixão Kröhling授权由InfoQ中文站翻译分享。
入门分布式跟踪可能是一项很艰难的任务。这个领域有太多新术语、框架和工具,它们有着明显互相重叠的功能,初学者很容易迷失或偏离主题。本文对最流行的工具进行了概述和分类,能够帮助你掌握分布式跟踪领域的概况。
虽然跟踪和采样分析是密切相关的两个学科,但是分布式跟踪通常被理解将应用中不同工作单元的信息连接在一起,以便理解整个事件链的技术,这些工作单元会在不同的进程或主机中执行。在现代应用程序中,这意味着分布式跟踪可以用来描述HTTP请求在穿越 大量微服务时的情况。
这里所列的大多数工具可以大致分为instrumentation库、tracer、分析工具(analysis tool,后端+UI),以及它们的任意组合。博文“ 各种跟踪方式的差异”很好地描述了分布式跟踪的这三个方面。
对于本文来讲,我们将 instrumentation定义为用来告诉记录哪些信息的库,将 tracer定义为如何记录并提交数据的库,将 分析工具定义为接收跟踪信息的后端。在现实中,这些分类是不断变化的,instrumentation和tracer的区别并不会始终那么明显。类似的,分析工具这个术语可能会过于宽泛,因为有些工具会关注探索跟踪信息,而有些则是完整的可观察性平台。