Spring Cloud Sleuth 简单的案例
时间: 2024-06-11 20:11:08 浏览: 95
Spring Cloud Sleuth 是一个分布式跟踪解决方案,可以帮助开发人员追踪和解决在微服务架构中的问题。下面是一个简单的案例,演示如何使用 Spring Cloud Sleuth 进行跟踪:
1. 创建 Spring Boot 项目
首先,创建一个简单的 Spring Boot 项目,可以使用 Spring Initializr 进行快速创建,添加 Spring Web 和 Sleuth 依赖。
2. 配置 Sleuth
在 application.properties 文件中添加 Sleuth 的配置:
```properties
spring.sleuth.enabled=true
spring.zipkin.baseUrl=http://localhost:9411
```
其中,spring.sleuth.enabled=true 启用 Sleuth,spring.zipkin.baseUrl 指定 Zipkin 的地址。
3. 编写服务
编写两个简单的服务,一个服务调用另一个服务:
```java
@RestController
public class HelloController {
private final Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private RestTemplate restTemplate;
@GetMapping("/hello")
public String hello() {
logger.info("Hello, Sleuth!");
String result = restTemplate.getForObject("http://localhost:8081/world", String.class);
return "Hello, " + result;
}
}
@RestController
public class WorldController {
private final Logger logger = LoggerFactory.getLogger(getClass());
@GetMapping("/world")
public String world() {
logger.info("World, Sleuth!");
return "World";
}
}
```
其中,HelloController 调用 WorldController 的 /world 接口。
4. 启动 Zipkin
启动 Zipkin 服务器,可以使用 Docker 快速启动:
```shell
docker run -d -p 9411:9411 openzipkin/zipkin
```
5. 启动服务
启动两个服务,访问 http://localhost:8080/hello,可以看到 Sleuth 自动记录了服务调用链,将其发送到 Zipkin 服务器进行追踪。
6. 查看追踪结果
访问 Zipkin 服务器的地址 http://localhost:9411,可以看到 Sleuth 记录的服务调用链信息,包括每个服务的耗时和返回结果。
以上就是一个简单的 Spring Cloud Sleuth 案例,演示了如何使用 Sleuth 进行分布式跟踪。
阅读全文