使用Vertx微服务在Java中构建的AWS X-Ray仪器。

问题描述 投票:0回答:1

如何用X射线仪器实现 Vertx微服务 用java构建? 是否有任何可用于vertx的sdk?射线? 我用java sdk但没有得到服务地图。

java microservices vert.x aws-xray
1个回答
1
投票

据我所知,X-Ray不能以任何形式与Vert.x一起工作。主要原因是X-Ray内部传播跨度的主要方法是使用Threadlocal来跟踪状态。

Threadlocal在Vert.x这样的反应式框架中是行不通的,因为这类框架中线程池中的线程之间会有上下文跳转。Spring WebFlux也有同样的问题。

我们一直在与AWS支持和亚马逊代表联系,答案总是 "我们会研究这个问题",然而他们似乎不是很感兴趣,因为我怀疑它需要一个完整的重写才能正常工作。


0
投票

目前,AWS X-Ray SDK for Java并没有为Vert.x微服务架构提供中间件或跟踪支持。唯一支持的框架是Tomcat和Spring。我很好奇,你是如何在你的应用中使用Java SDK的。

追踪你的应用程序的一种方法可以是使用 自定义部分和子部分 (尽管这将意味着你将不得不做大量的手动仪表工作)。

您可以通过以下方法为您的应用程序开始一个段。beginSegment 方法,并设置 适当的属性. 然后你可以创建 子分部 为你的下游调用或任何你想跟踪的代码。请参考 文档 为Segment和Subsegment的语义。

© www.soinside.com 2019 - 2024. All rights reserved.