我正在学习如何通过所有微服务跟踪我的分布式进程。我一直在使用 Sleuth、Zipkin 和不同的微服务,效果非常好!但是当我尝试在不同依赖项之间交互的项目中做同样的事情时,我无法创建相同的行为。
我想知道,是否可以使用依赖项创建与微服务相同的行为?
我正在学习如何通过所有微服务跟踪我的分布式进程。我一直在使用 Sleuth、Zipkin 和不同的微服务,效果非常好!但是当我尝试在不同依赖项之间交互的项目中做同样的事情时,我无法创建相同的行为。
我想知道,是否可以使用依赖项创建与微服务相同的行为?
以@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
是的,当您创建跨度时,您可以设置服务名称。只要打电话newSpan.remoteServiceName(...)