Spring Cloud入门-Sleuth服务链路跟踪(Hoxton版本)
在Spring Cloud Hoxton版本中,使用Spring Cloud Sleuth进行服务跟踪的示例代码如下:
- 添加依赖到你的
pom.xml
:
<dependencies>
<!-- 其他依赖... -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
</dependencies>
- 配置你的应用程序,通常无需额外配置:
spring:
application:
name: trace-service
- 在你的服务中使用Spring Cloud Sleuth提供的工具:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.cloud.sleuth.Tracer;
@RestController
public class TraceController {
private static final Logger log = LoggerFactory.getLogger(TraceController.class);
private final Tracer tracer;
public TraceController(Tracer tracer) {
this.tracer = tracer;
}
@GetMapping("/trace")
public String trace() {
// 获取当前的trace信息
log.info("Trace information: {}", tracer.getCurrentSpan().traceIdString());
return "Trace service is running";
}
}
启动你的服务,并发送请求到/trace
端点,你将在日志中看到类似以下内容的信息,表示跟踪ID和span ID:
Trace information: 664dce795ef586cf55a962464e0f0b6b
Spring Cloud Sleuth会自动将跟踪信息添加到日志中,以便进行进一步的分析和追踪。如果你使用的是Zipkin或其他跟踪系统,它会自动将信息发送到那里。
评论已关闭