微服务架构的快速发展使得分布式链路追踪系统成为观测体系中越来越重要的组件。众安科技的分布式追踪系统经过数年发展后,已覆盖众安保险的绝大部分在线业务,完成了上千+微服务和几十万+服务实例的在线链路追踪。
本次分享将通过介绍调用链瀑布图和服务拓扑图这两个调用链系统的核心服务,来帮助大家了解什么是全链路追踪以及如何使用全链路追踪的能力定位链路中的性能瓶颈。
1,调用链瀑布图
一个调用链(Trace)代表一个事务或者流程在分布式系统中执行的过程,一条Trace是由多个Span组成的有向无环图,每个Span则代表调用链中被命名并计时的连续性执行片段。
有向无环图
调用链数据被采集后,通常使用包含时间轴的时序图来还原了一次业务请求调用,这就是调用链瀑布图。
调用链瀑布图提高了性能数据的易懂性,降低了人工分析的难度,因此被广泛用于分析和定位性能问题。
通过瀑布图,我们可以直观看到Trace中哪条或者哪几条Span对整体时间的占用比例较大,以进行相应地优化。
以上图为例,最上方给出了链路的基础数据:开始时间、持续时间、Span数以及经过的应用服务数,可对链路信息有个初步的全貌了解。
在下方的瀑布图中,同一种颜色的Span对应同一个服务,可直观感知当前Trace经过的服务以及服务接口调用顺序。瀑布图的左边会直接显示请求的应用接口,以及在每次请求后标注是否存在错误,右边则会直观展示耗时以及其占总耗时的比例。
通过这个链路图我们可以看出第一个和第二个服务接口的请求耗时在整个链路中执行时间高达100%。接下来,可以点击该请求, 来查看详细链路信息,以及通过下放关联的链路日志、主机监控指标、pod监控指标、JVM监控指标数据进行进一步问题排查。
2,服务拓扑图
众安科技分布链路追踪系统还可以根据时间段内的Trace还原服务之间的调用关系拓扑。通过服务拓扑图,可以快速知晓 应用和上下游服务之间的调用关系以及发现服务架构中性能短板:
- 通过应用服务的着色,了解当前调用关系中的各个应用服务的自身性能表现;
- 通过服务间的连线颜色,可以知晓服务之间的调用性能表现;
- 如果在该时间段,拓扑图中的某个应用存在错误调用,也可以直观查看到。
同时,通过点击某个服务节点,也可以轻松下钻更多信息,查看该服务的请求性能表现、慢请求分析、错误请求分析以及基础设施监控指标、错误日志信息等。
请求性能
错误请求分析
六翼天使(Seraph)智能监控平台推出的面向金融行业的一站式应用监控平台,提供从基础设施层、数据层、应用层到业务层的多层次监控能力支撑。帮助企业实现应用全栈式的性能监控和端到端的全链路追踪诊断,全面提升排障效率,高效保障应用服务可用性,实现运维效能升级。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义