33、Jaeger分布式追踪系统的架构与应用

Jaeger分布式追踪系统的架构与应用

1. Jaeger后端基础架构组件

Jaeger是一个流行的分布式追踪系统,其后端部署包含多个关键组件,各组件协同工作以实现对分布式系统的追踪功能。

1.1 客户端(Client)

客户端库(也称为追踪库或追踪器)是运行在业务应用内部的代码。例如,使用OpenTracing进行检测的应用会调用OpenTracing API,而实现该API的Jaeger客户端库会利用这些调用从应用中提取追踪数据。客户端库负责将数据导出到追踪后端,常见做法是将追踪数据暂存到内部内存缓冲区,以避免影响请求的关键路径,然后通过单独的后台线程异步批量发送到追踪后端。

大多数Jaeger追踪器支持多种数据导出格式和协议。例如,跨度(spans)可以转换为Thrift消息发送到本地主机的UDP端口(由代理接收),也可以作为JSON消息发送到收集器的HTTP端口。具体配置取决于部署环境。发送数据到代理的好处是客户端配置简单,因为代理通常在本地主机上可用。但使用UDP端口意味着消息是“即发即忘”的,如果主机过载或代理无法及时读取UDP端口上的消息,消息可能会被丢弃。直接通过HTTP协议将跨度提交到收集器需要为客户端提供收集器的地址,这会增加业务应用的配置和部署复杂性,可能还需要运行或配置第三方负载均衡器以避免收集器集群出现热点。不过,在某些情况下,这是唯一可行的配置,如应用部署到AWS Lambda平台时,无法将代理作为边车(sidecar)与应用一起运行。

此外,从收集器到客户端存在一个名为控制流的反馈循环,这是一种基于拉取的机制,用于更新追踪器中的某些配置设置,特别是当采样策略由收集器中的自适应采样组件控制时。该通道还可用于向

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值