AWS X-Ray 示例应用程序 - AWS X-Ray
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

AWS X-Ray 示例应用程序

AWS X-Ray eb-java-scorekeep 示例应用程序在 GitHub 上提供,它显示了如何使用 AWS X-Ray 开发工具包来分析传入 HTTP 调用、DynamoDB 开发工具包客户端和 HTTP 客户端。该示例应用程序使用 AWS Elastic Beanstalk 功能创建 DynamoDB 表,编译实例上的 Java 代码,运行 X-Ray 守护程序而无需任何额外配置。


      Scorekeep 使用 AWS X-Ray 开发工具包分析传入 HTTP 调用、DynamoDB 开发工具包客户端和 HTTP 客户端

该示例是 AWSLabs 上 Scorekeep 项目的已分析版本。其中包括前端 Web 应用程序、所调用的 API 以及它用于存储数据的 DynamoDB 表。所有组件都托管在 Elastic Beanstalk 环境中,以便于移植和部署。

项目的 xray-gettingstarted 分支中显示了带有筛选条件插件分析的 AWS 开发工具包客户端的基本分析。这是您在入门教程中部署的分支。由于此分支只包含基本分析,您可以根据 master 分支比较差异,以快速理解基本分析。

示例应用程序在这些文件中显示基本分析:

该应用程序的 xray 分支增加了对 HTTPClient注释SQL 查询自定义子分段和分析过的 AWS Lambda 函数以及分析过的初始化代码和脚本的使用。此服务地图显示了不带已连接的 SQL 数据库运行的 xray 分支:

为了在浏览器中支持用户登录和 AWS SDK for JavaScript 的使用,xray-cognito 分支添加了 Amazon Cognito 以支持用户身份验证和授权。利用从 Amazon Cognito 检索到的凭证,Web 应用程序还会将跟踪数据发送到 X-Ray,以从客户端的视角记录请求信息。浏览器客户端在服务地图中显示为自己的节点,并记录其他信息,包括用户正在查看的页面的 URL 和用户的 ID。

最后,xray-worker 分支将添加独立运行的分析过的 Python Lambda 函数,并处理来自 Amazon SQS 队列的项目。每当游戏结束时,Scorekeep 就会向队列添加一个项目。由 CloudWatch Events 触发的 Lambda 工作线程每几分钟会从队列中拉取一次项目,并处理这些项目以将游戏记录存储在 Amazon S3 中以供分析。

在启用了所有功能的情况下,Scorekeep 的服务地图看起来类似于下面的内容:

有关价格示例应用程序与 X-Ray 结合使用的说明,请参阅入门教程。除了教程中讨论的基本 X-Ray SDK for Java 使用之外,示例还演示了如何使用以下功能。