0

我正在学习如何通过所有微服务跟踪我的分布式进程。我一直在使用 Sleuth、Zipkin 和不同的微服务,效果非常好!但是当我尝试在不同依赖项之间交互的项目中做同样的事情时,我无法创建相同的行为。

此图显示当前如何工作不同的微服务。 在此处输入图像描述

这是微服务的示意图: 在此处输入图像描述

这张图片显示了一个具有依赖关系的应用程序是如何工作的。 在此处输入图像描述

这是具有依赖关系的应用程序图: 在此处输入图像描述

我想知道,是否可以使用依赖项创建与微服务相同的行为?

4

2 回答 2

0

以@MarcinGrzejszczak 的输入为参考,我使用自定义跨度解决:

Span remoteDependency = tracer.nextSpan()
                              .name("dependency_name") 
                              .start();

来自哪里tracer的自动装配对象Trace

@Autowired
private Tracer tracer;

两个类都在brave包中

import brave.Span;
import brave.Tracer;

结果:

样本

如果您想更详细地查看实现,这里是示例:https ://github.com/juanca87/sample-traceability-microservices

于 2018-10-12T17:33:48.330 回答
0

是的,当您创建跨度时,您可以设置服务名称。只要打电话newSpan.remoteServiceName(...)

于 2018-09-24T14:42:00.570 回答