随着互联网架构的扩张,分散式系统变得日趋复杂,越来越多的元件开始走向分散式化,如微服务、讯息收发、分散式数据库、分散式快取、分散式物件储存、跨域呼叫,这些元件共同构成了繁杂的分散式网络。
在一次800多人的开发者调研中,当回答“现阶段构建一个高可用的分散式系统,您遇到的三个最大的难题是什么?”时,57%的开发者选择了全链路追踪。
6月12日,阿里云释出了链路追踪服务 Tracing Analysis,提供分散式系统的全链路追踪能力,帮助客户快速发现和定位分散式系统下的各类效能瓶颈,成本仅自建链路追踪系统的1/5甚至更少。
微服务架构下的分散式应用架构虽然满足了应用横向扩充套件需求,但是如何进行分散式应用诊断成为挑战。虽然,业内有链路追踪相关的开源解决方案,但存在着研发投入较高、自建成本较高、技术风险较大、运维难度较大的挑战。
链路追踪 Tracing Analysis源自阿里巴巴内部的经过大规模实战验证过的 EagleEye,基于 Opentracing 标准,全面相容开源社群,可实现 Jaeger, Zipkin 和 Skywalking等开源方案在阿里云上的托管,客户无需搭建基础设施,节省运维投入和技术风险。同时,支援多语言客户端将应用的链路资料上报至链路追踪控制台,实现链路追踪的目的。
据介绍,链路追踪 Tracing Analysis 可用于链路拓扑分析,慢请求、异常请求、流量异常的问题发现和定位,并可以根据业务Tag 对业务进行统计。以某教育行业客户为例,链路追踪 Tracing Analysis 帮助客户将异常请求数从原先的3%降低到0.1%,排查5个以上线上问题。
此外,链路追踪 Tracing Analysis可帮助使用者收集所有分散式微服务应用和相关PaaS产品的分散式呼叫资讯,检视应用的依赖路径,用于业务分析和稳定性评估。以某金融行业客户为例,链路追踪 Tracing Analysis 帮助客户将将应用的平均响应时间从2秒降低到500毫秒。
值得注意的是,链路追踪 Tracing Analysis 省去了客户自建基础设施的本地储存费用,仅通过云端日志储存收取储存费用,总体的机器成本是自建全链路追踪系统的1/5或更少,并提供了每天1000请求数的免费使用额度。
目前,阿里云链路追踪 Tracing Analysis已应用于金融、游戏、教育、零售、人工智能等多个行业,帮助开发者高效的分析和诊断分散式应用架构下的效能瓶颈。
Q&A:
Q1:可以通过 API 拉取链路追踪的资料吗?
A1:支援,收集的链路可以通过OpenAPI的方式获取,也可以嵌入链路追踪的页面展示,也可以直接在日志服务中检视。
Q2:非阿里云服务,可以接入链路追踪?
A2:链路是追踪是开放的,只要客户的应用可以访问公网,就可以接入,和有没部署在阿里云上没关系。
Q3:埋点对效能的影响有相关分析么?
A3:埋点资料是异步批量上报的,会对效能有影响有限,一般在1%左右,主要看埋点的量,埋的多会影响大一点。从目前的压测资料来看,对效能影响比较小。
作者:中介软件小哥