分布式追踪系统的部署与数据处理
1. 收集器的功能与部署
收集器在分布式追踪系统中扮演着重要角色,它承担着部分跨度采样和聚合统计计算的职责。
1.1 跨度采样
在某些实现中,只有部分跨度会被处理,此时收集器负责选择哪些跨度应被转发至其他追踪组件。跨度采样的方式多样,包括均匀随机采样、基于跨度属性或其他信息进行采样。采样既可以在进程内进行,也可以在边车(sidecar)中完成。不过,由于常常需要更改控制跨度采样的参数,将此功能转移到少量集中控制的进程中,能简化配置管理。在某些情况下,跨度在采样前需要长时间缓冲,这就需要比边车通常所能提供的更多内存。
1.2 聚合统计计算
收集器还可能负责计算跨度的一些聚合统计信息,例如:
- 从给定服务接收到的跨度总数。
- 发生错误的跨度数量,或具有特定标签键值的跨度数量。
- 部分或所有跨度的延迟信息(包括中位数和标准差),甚至以直方图形式呈现。
在服务进程或边车中进行这些统计计算可能成本过高,并且在进行大量采样之前计算这些统计信息会更准确。计算这些聚合信息的目标是尽可能保留更多跨度的信息,同时减少必须转发给其他追踪组件的数据总量。
1.3 收集器的部署方式
收集器的部署方式取决于其提供的功能:
- 若需要大量资源来存储、索引或处理跨度,通常会部署在专用主机上,以与应用的其他部分隔离。
- 若进行大量采样,将其部署在与应用相同的网络中可能有益,因为这样可以降低网络成本,尤其是当其他追踪组件未部署在同一网络时。
- 若追踪器实现的功能较少,这些功能可集成到边车和代理中。当它们存
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



