近日,在杭州云栖大会上,阿里云发布了链路追踪服务Tracing Analysis,成本是自建链路追踪系统的1/5或更少,可为分布式应用的开发者提供完整的调用链路还原、调用请求量统计、链路拓扑、应用依赖分析等工具,帮助开发者快速分析和诊断分布式应用架构下的性能瓶颈,提高微服务时代下的开发诊断效率。
Tracing Analysis 传送门:https://www.aliyun.com/product/xtrace
微服务时代,分布式应用架构虽然满足了应用横向扩展的需求,但是运维和诊断的过程变得越来越复杂,例如会遇到接口诊断困难、应用性能诊断复杂、架构分析复杂、多语言程序接入难统一、调用链路数据离线分析困难等难题。传统的监控工具并无法满足提供跨越不同服务的能见度需求。
阿里云链路追踪服务Tracing Analysis可以跟踪所有分布式架构中的微服务用户请求,汇总组成分布式调用链方式,以及应用程序的单个服务和资源,实现调研链路的查询、诊断和应用性能实时汇总功能。同时,收集到的链路数据,可直接应用在日志分析中,并可对接到下游分析平台如LogSearch、CloudMonitor、MaxCompute等,用于离线分析、报警等场景,提升链路数据价值。此外,tracing analysis基于Opentracing标准,全面兼容开源社区,如Jaeger, Zipkin等开源项目,提高链路追踪系统的可用性和稳健性。
据链路追踪服务产品专家伏羿介绍,链路追踪Tracing Analysis 和 业务实时监控ARMS 是阿里云上应用侧APM监控的双引擎, 两款产品都可以满足用户在分布式应用场景下的复杂链路诊断需求,但支持场景有所不同:
- 业务实时监控ARMS
采用业界比较流行的无侵入式监控埋点,用户无需改造就可以深度监控和诊断到用户应用;但是无侵入式埋点虽然功能强大,实现逻辑却相对复杂、成本相对较高,而且受限于开发语言特性,某些语言如C, Go等就无法支持无侵入式埋点。
- 链路追踪Tracing Analysis
针对用户多语言的应用监控需求,阿里云特此推出链路追踪通过基于开放标准(opentracing)和开源组件(Jaeger, Zipkin, etc)侵入式埋点方式填补了这方面的空白;基于链路追踪,用户可以以比较低的性能代价通过嵌入链路追踪的SDK来手动上报链路信息,从而快速实现异构多语言分布式架构下的链路追踪需求。
相比于业务实时监控,虽然链路追踪接入比较负责,用户需要手动埋点,但是产品本身基于开放标准和开源产品,对用户无lock-in问题,而且成本相对低廉,链路追踪本身免费,用户仅对链路追踪依赖的日志服务成本进行付费。
此次阿里云链路追踪服务Tracing Analysis的发布,旨在帮助用户和各类开发者降低分布式系统的运维难度,聚焦业务创新,不用重复造轮子。同时,作为阿里云互联网中间件整体解决方案的重要组成部分,结合企业级分布式应用服务EDAS、消息队列MQ、应用配置管理ACM、性能测试PTS、业务实时监控服务ARMS等核心互联网中间件产品,可以快速搭建企业级互联网架构平台,具备业务中台能力,促进企业数字化转型的快速落地。