如何用X射线仪器实现 Vertx微服务 用java构建? 是否有任何可用于vertx的sdk?射线? 我用java sdk但没有得到服务地图。
据我所知,X-Ray不能以任何形式与Vert.x一起工作。主要原因是X-Ray内部传播跨度的主要方法是使用Threadlocal来跟踪状态。
Threadlocal在Vert.x这样的反应式框架中是行不通的,因为这类框架中线程池中的线程之间会有上下文跳转。Spring WebFlux也有同样的问题。
我们一直在与AWS支持和亚马逊代表联系,答案总是 "我们会研究这个问题",然而他们似乎不是很感兴趣,因为我怀疑它需要一个完整的重写才能正常工作。
目前,AWS X-Ray SDK for Java并没有为Vert.x微服务架构提供中间件或跟踪支持。唯一支持的框架是Tomcat和Spring。我很好奇,你是如何在你的应用中使用Java SDK的。
追踪你的应用程序的一种方法可以是使用 自定义部分和子部分 (尽管这将意味着你将不得不做大量的手动仪表工作)。
您可以通过以下方法为您的应用程序开始一个段。beginSegment
方法,并设置 适当的属性. 然后你可以创建 子分部 为你的下游调用或任何你想跟踪的代码。请参考 文档 为Segment和Subsegment的语义。