一文读懂:得物云原生全链路追踪Trace2.0-采集篇
2023-08-10 16:37:47
后端服务追踪监测:保障系统稳定性的利器
在现代分布式系统架构中,保障后端服务的稳定可靠运行至关重要。链路追踪系统作为一种监测工具,能够深入剖析系统的调用关系和性能瓶颈,成为确保业务平稳运行的得力助手。得物基于自研的分布式链路追踪系统 Trace,打造了一套端到端的全链路追踪体系,在618大促期间针对支付业务链路进行了重点优化,为用户带来了顺畅的购物体验。
得物Trace体系的核心价值
- 全链路统一追踪与管理: Trace体系实现统一埋点与业务代码的解耦,通过统一配置实现自动化埋点,降低埋点成本并保证数据质量和稳定性。
- 丰富的指标体系与告警规则: Trace体系提供链路调用信息、调用耗时、出错信息等标准指标,还沉淀了大量业务指标。针对不同场景,Trace体系提供丰富的告警规则,支持自定义告警内容和多种告警发送方式,及时发现、定位和修复问题。
- 基于机器学习的异常检测: Trace体系结合时序分析与机器学习算法,对链路中的所有指标进行分析,智能发现链路中的异常行为,提供原因定位与修复建议。
- 全场景的全链路压测能力: Trace体系支持全链路的压测场景,对链路中每个模块的调用次数、耗时、成功率等指标进行监控与分析,针对性能瓶颈进行定位与优化,保证业务系统的高并发稳定运行。
Trace体系的实现原理
Trace体系主要由以下几个组件组成:
- Trace Agent: 负责在业务系统中埋点,收集链路调用信息,并将其发送给 Trace Collector。
- Trace Collector: 负责接收 Trace Agent 发送的链路调用信息,并将其存储到数据库中。
- Trace Query: 负责提供链路查询功能,用户可以通过 Trace Query 查询链路调用信息,并进行分析和定位。
- Trace Alarm: 负责提供链路告警功能,用户可以通过 Trace Alarm 设置告警规则,当链路调用出现异常时,Trace Alarm 会及时发出告警通知。
- Trace Machine Learning: 负责提供链路异常检测功能,用户可以通过 Trace Machine Learning 发现链路中的异常行为,并提供原因定位与修复建议。
Trace体系的应用
Trace体系在得物内部得到了广泛的应用,覆盖了电商交易、订单履约、仓储物流、客服支撑、财务管理等多个业务领域,系统调用量峰值超过百万QPS,总计监控链路数超过百万条,支撑了得物的业务快速发展与用户体验提升。
常见问题解答
1. Trace Agent对业务系统的影响如何?
Trace Agent采用轻量级的埋点方式,无代码入侵,耗时在 1%以内,对业务系统的影响很小。
2. Trace体系是否支持全链路的压测?
Trace体系支持全链路的压测场景,能够对链路中每个模块的调用次数、耗时、成功率等指标进行监控与分析,针对性能瓶颈进行定位与优化。
3. Trace体系如何保障数据安全性?
Trace体系采用分布式架构,保证了系统的稳定性和可靠性。链路调用信息在传输和存储过程中均经过加密处理,保障数据安全性。
4. Trace体系的告警规则支持哪些配置?
Trace Alarm 提供丰富的告警规则配置选项,支持自定义告警内容、告警阈值、告警发送方式等,满足不同场景的告警需求。
5. Trace Machine Learning 是如何进行异常检测的?
Trace Machine Learning 结合时序分析与机器学习算法,对链路中的所有指标进行分析,智能识别异常行为模式,提供原因定位与修复建议。