Sleuth链路追踪实战 Sleuth链路追踪实战前言Spring Cloud Sleuth为微服务提供了分布式追踪能力与Zipkin结合可以实现完整的链路可视化。一、快速集成1.1 依赖配置dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-sleuth/artifactId /dependency dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-sleuth-zipkin/artifactId /dependency1.2 配置spring: application: name: order-service zipkin: base-url: ${ZIPKIN_SERVER:http://localhost:9411} sender: type: web sampler: probability: 1.0 sleuth: sampler: probability: 1.0 rate: 1000二、追踪配置2.1 自定义SpanService RequiredArgsConstructor public class OrderService { private final Tracer tracer; public Order createOrder(OrderRequest request) { Span span tracer.spanBuilder(createOrder) .tag(customerId, request.getCustomerId().toString()) .startSpan(); try (Scope scope span.makeCurrent()) { Order order orderRepository.save(request.toOrder()); span.tag(orderId, order.getId().toString()); return order; } catch (Exception e) { span.error(e); throw e; } finally { span.end(); } } }三、总结Sleuth提供了开箱即用的链路追踪能力与Zipkin结合可以清晰看到请求在各个服务间的流转情况。