将 SpringCloudSleuth 与 AWS X-Ray 集成

Posted

技术标签:

【中文标题】将 SpringCloudSleuth 与 AWS X-Ray 集成【英文标题】:Integrating SpringCloudSleuth With AWS X-Ray 【发布时间】:2019-10-31 14:41:31 【问题描述】:

我有一个运行带有 Springboot 应用程序的 Fargate 实例的 ECS 集群,并且希望以最少的代码更改次数启用跟踪。我开始研究两种方法:

    使用 AWS-Xray:步骤 -> 添加依赖项,添加 aWSXRayServletFilter,在单独的容器中运行 X-Ray 守护程序。

    使用 Spring Cloud Sleuth:步骤 -> 添加依赖和属性,与 X-Ray 集成

所以第二种方法为您节省了修改代码的步骤,问题是我找不到任何好的文档来将 Spring Cloud Sleuth 与 X-Ray 集成,谁能指出我正确的方向?

我尝试阅读大量文档,包括:https://cloud.spring.io/spring-cloud-sleuth/spring-cloud-sleuth.html

【问题讨论】:

实施第一种方法并使用相同的任务定义将 X-Ray 守护程序作为 sidecar 运行。 【参考方案1】:

我还没有尝试过,但是从文档中您可以结合以下内容

amazon/aws-xray-daemon

带有实验性X-Ray Storage 的zipkin-aws。他们有一个Docker image 用于 zipkin-aws。您需要将其指向 XRay 守护程序。这将作为 Zipkin 服务器在端口 9411 上运行。

然后你使用 Spring Cloud Sleuth 的检测和 AsyncZipkinSender。

通过这种方法,只要您有不同的 zipkin 服务器,您就可以将自己与 AWS 解耦。

【讨论】:

【参考方案2】:

目前 AWS X-Ray SDK 没有与 Spring Cloud Sleuth 集成。为了使用 AWS X-Ray,第一种方法是最好的方法。

【讨论】:

这意味着第一种方法是最好的方法吗?你能详细说明一下吗?

以上是关于将 SpringCloudSleuth 与 AWS X-Ray 集成的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud Sleuth 介绍

带有 OpenTracing 的 Spring Cloud Sleuth

我们如何在 Spring MVC 项目中使用 Spring Cloud Sleuth?

将 AWS Appsync 与 AWS Neptune 结合使用

如何将 AWS S3 存储桶与远程非 AWS 服务器上的文件同步?

是否可以将 AWS RDS Postgres SSL 连接与 DNS 别名而不是 AWS 端点一起使用?