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

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



