将 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 集成的主要内容,如果未能解决你的问题,请参考以下文章
带有 OpenTracing 的 Spring Cloud Sleuth
我们如何在 Spring MVC 项目中使用 Spring Cloud Sleuth?
将 AWS Appsync 与 AWS Neptune 结合使用