【问题标题】:AWS X-Ray instrumentation with Vertx Microservices build in Java使用 Java 构建的带有 Vertx 微服务的 AWS X-Ray 检测
【发布时间】:2020-05-12 18:31:40
【问题描述】:

如何使用 Vertx 微服务 在 java 中构建 X 射线检测? vertx aws-xray 是否有可用的 sdk?我使用了 java sdk 但没有获取服务地图。

【问题讨论】:

    标签: java microservices vert.x aws-xray


    【解决方案1】:

    据我所知,X-Ray 不适用于任何形式的 Vert.x。主要原因是在 X-Ray 中传播 span 的主要方法是使用 Threadlocal 来跟踪状态。

    Threadlocal 不能在像 Vert.x 这样的响应式框架中工作,因为在这类框架的线程池中的线程之间会发生上下文跳转。 Spring WebFlux 也有同样的问题。

    我们已与 AWS 支持和亚马逊代表联系,答案始终是“我们会调查此事”,但他们似乎不太感兴趣,因为我怀疑它需要完全重写才能正常工作。

    【讨论】:

    • 如果需要理解答案,请添加更多描述和代码,因为它会尽快解决其他人的问题。
    【解决方案2】:

    目前,适用于 Java 的 AWS X-Ray 开发工具包不为 Vert.x 微服务架构提供中间件或跟踪支持。唯一受支持的框架是 Tomcat 和 Spring。我很好奇您如何在应用程序中使用 Java SDK。

    跟踪您的应用程序的一种方法是使用custom segments and subsegments(尽管这意味着您必须进行大量手动检测工作)。

    您可以使用beginSegment 方法为您的应用程序开始一个段并设置appropriate properties。然后,您可以为下游调用或您想要跟踪的任何代码创建subsegments。 Segment和Subsegment的语义请参考doc

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-11
      • 2017-12-31
      • 1970-01-01
      • 1970-01-01
      • 2020-02-10
      相关资源
      最近更新 更多