AWS X-Ray 热门2017年〜
分析和调试分布式应用的追踪服务
它能做什么
AWS X-Ray 是一项分析和调试分布式应用的追踪服务。收集应用处理的请求数据,生成服务地图可视化组件间的调用关系。追踪请求在各服务间的流转路径,识别延迟瓶颈和错误根因。支持 Lambda、EC2、ECS、API Gateway 等多种 AWS 服务。
使用场景
用于微服务架构的性能瓶颈分析、分布式系统的错误根因定位、服务间依赖关系的可视化、请求延迟的详细分解。
日常类比
可以比作快递的全程追踪系统。可以追踪一个包裹(请求)从发出到送达经过了哪些中转站(服务),在每个中转站停留了多长时间,如果包裹丢失(错误)可以精确定位在哪个环节出了问题。
什么是 X-Ray
AWS X-Ray 是一项分布式追踪服务。在微服务架构中,一个用户请求可能经过多个服务处理。当出现延迟或错误时,很难确定是哪个服务导致的。X-Ray 为每个请求生成唯一的追踪 ID,记录请求在各服务间的流转,帮助快速定位问题。
追踪与服务地图
X-Ray 的追踪(Trace)由多个段(Segment)组成,每个段代表一个服务的处理过程。段中可以包含子段(Subsegment)记录更细粒度的操作(如数据库查询、HTTP 调用)。服务地图自动生成应用的拓扑图,显示各服务的健康状态、请求量和延迟分布。 如需深入了解追踪与服务地图的知识,可参考相关书籍(Amazon)。
开始使用
在应用中集成 X-Ray SDK(支持 Java、Python、Node.js、.NET、Go 等)或使用 OpenTelemetry。SDK 自动捕获 AWS SDK 调用、HTTP 请求和数据库查询。在 X-Ray 控制台查看服务地图和追踪详情。Lambda 函数只需启用活跃追踪即可,无需修改代码。
注意事项
- Lambda 函数只需启用活跃追踪即可,无需修改代码
- 采样规则控制追踪的请求比例,避免高流量时产生过多追踪数据