使用Zipkin和NodeJS链接服务跃点

编程入门 行业动态 更新时间:2024-10-09 18:16:27

使用Zipkin和NodeJS<a href=https://www.elefans.com/category/jswz/34/1771394.html style=链接服务跃点"/>

使用Zipkin和NodeJS链接服务跃点

我正在尝试将NodeJS中的三个HTTP服务跃点链接到一个Zipkin跟踪中。我有三项服务

service-main
service-hello
service-goodbye

[服务service-main调用service-hello,并且service-hello需要调用service-goodbye以完成。 Zipkin可以看到这些调用,但是将它们链接为两条单独的轨迹。 ([service-main调用service-helloservice-hello调用service-goodbye

这些服务在express中实现,并且通过node-fetch进行获取。

我使用如下代码创建检测的服务提取程序

const createFetcher = (remoteServiceName, tracer) => {
  const wrapFetch = require('zipkin-instrumentation-fetch');
  return wrapFetch(fetch,
    {
      tracer:tracer,
      remoteServiceName:remoteServiceName
    }
  );
}

并且我用看起来像这样的代码来表达

app.use(zipkinMiddleware({tracer}));       

最后,我使用如下代码创建跟踪器

const createTracer = (localServiceName) => {
  const tracer = new Tracer({
    ctxImpl: new CLSContext('zipkin'),
    recorder: new BatchRecorder({
      logger: new HttpLogger({
        endpoint: 'http://localhost:9411/api/v2/spans',
        jsonEncoder: JSON_V2
      })
    }),
    localServiceName: localServiceName // name of this application
  });
  return tracer;
}

您可以在the following github repository的上下文中看到以上代码。

我已经通过大量培养zipkin github存储库中的代码样本来完成所有这些工作,而且我对zipkin的实现还不了解,无法进一步诊断。

如何获得zipkin来将service-main-> service-hello-> service-goodbye调用链视为单个跟踪?

回答如下:

[它似乎与https://github/openzipkin/zipkin-js/pull/498相关,您可以尝试使用[email protected]并将ctxImpl更改为ctxImpl = new CLSContext('zipkin', true);吗?

更多推荐

使用Zipkin和NodeJS链接服务跃点

本文发布于:2024-05-07 15:02:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756819.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:链接   Zipkin   NodeJS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!