BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

亚马逊发布分布式跟踪服务“AWS X-Ray”的预览版本

| 作者 Daniel Bryant 关注 740 他的粉丝 ,译者 张卫滨 关注 13 他的粉丝 发布于 2016年12月14日. 估计阅读时间: 5 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

在美国拉斯维加斯举行的AWS re:Invent 2016大会上,亚马逊发布了一款名为AWS X-Ray的分布式跟踪服务,它目前处于预览版本,能够在AWS的12个公开Region中使用。AWS X-Ray类似于Google的DapperTwitter的Zipkin以及OpenTracing API,它能够帮助开发人员分析和调试分布式应用,比如使用微服务架构风格所构建的应用。它提供了一个基于Web的UI,能够展现拓扑化的“服务地图”、图形化格式的分布式跟踪以及所有跟踪记录的可查询列表。

正如Jeff Barr在AWS博客上所讨论的那样,在过去的几年间,软件应用的设计和部署发生了一些变化,转向了创建复杂的分布式“基于服务”的系统。因此,软件应用的调试行为也随之发生了变化,当我们要查看应用扩展的行为模式时更是如此。

通过组合使用云计算、微服务以及基于通知的异步架构,系统会被拆分为成百上千的组成部分,而且这些组成部分还会处于不断的变化之中。在这样复杂的系统中,识别和解决性能问题会变得更加具有挑战性,同时面临的挑战的还要将单个服务级别的监测结果合成为有意义的高层级结果。

这些分布式系统都是基于云的,系统的执行过程会遍历应用服务、容器、计算实例、数据库即服务(database-as-a-service)和消息即服务(messaging-as-a-service),因此对于构建人员和运维人员来说最主要的挑战在于“跟踪线程(following-the-thread)”。

当请求在部署于AWS环境中的整个系统中遍历时,AWS X-Ray会对请求进行跟踪。应用会由多个服务和资源组成,AWS X-Ray会将单个服务和资源生成的数据集合起来,从而提供“系统如何运行的端到端视图”。AWS X-Ray的跟踪特性能够跟踪任意的请求路径,从而定位系统中的哪一部分出现了性能问题。AWS X-Ray还提供了注解,能够在跟踪上附加元数据,从而能够为跟踪数据添加标签并对其进行过滤。

根据发布AWS X-Ray的AWS博客文章描述,AWS X-Ray能够与Amazon EC2、Amazon EC2 Container Service (Amazon ECS)、AWS Elastic Beanstalk和Amazon API Gateway协同工作。AWS X-Ray SDK可以用于Java、Node.js和.NET所编写的应用中,应用需要基于上述的服务进行部署,这样的话,就能跟踪针对应用所发起的请求,应用可能会跨多个AWS账号、AWS Regions和Availability Zones。针对AWS Lambda的支持很快也会发布。

AWS X-Ray在实现“跟踪线程”时,如果请求上没有特定的HTTP头信息(包含一个唯一ID)的话,就会增加一个这样的头信息,然后将这个头信息传递到请求处理的其他层中。在每个点收集到的数据称为segment(类似于OpenTracing API规范中的Span),会存储为一段JSON数据。segment代表了一个工作单元,其中包含了请求和响应的计时,另外还会有子segment来代表更小的工作单元。OpenTracing倡议是由CNCF支持的,Adrian Cole是该项目的核心提交者,他在Twitter上称AWS X-Ray segment数据格式具有“很小巧的结构”。

据AWS X-Ray的文档所述,具有“统计意义”的segment样本会传送到X-Ray上。AWS X-Ray SDK不会将跟踪数据直接发送到服务上,而是将跟踪数据发送到一个AWS X-Ray daemon上,daemon必须运行在相关的EC2实例或者位于每个ECS容器中。daemon会收集多个请求的segment并采用批处理的方式进行上传。所收集到的跟踪数据可以在AWS X-Ray基于Web的UI中进行查看,也可以通过AWS X-Ray APIAWS CLI进行访问。

关于AWS X-Ray的更多信息,可以参考AWS博客上名为“AWS X-Ray——洞悉分布式应用”的文章、AWS X-Ray产品页面以及AWS X-Ray的文档。关于AWS re:Invent宣布的其他信息和产品发布消息可以参考InfoQ上名为“AWS re:Invent Recap”的文章。

查看英文原文Microsoft Open-Sources P Language for Safe Async Event-Driven Programming

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT