赞
踩
SpringMVC的源码解析(精品)
Spring6的源码解析(精品)
SpringBoot3框架(精品)
MyBatis框架(精品)
MyBatis-Plus
SpringDataJPA
SpringCloudNetflix
SpringCloudAlibaba(精品)
Shiro
SpringSecurity
java的LOG日志框架
Activiti(敬请期待)
JDK8新特性
JDK9新特性
JDK10新特性
JDK11新特性
JDK12新特性
JDK13新特性
JDK14新特性
JDK15新特性
JDK16新特性
JDK17新特性
JDK18新特性
JDK19新特性
JDK20新特性
JDK21新特性
其他技术文章传送门入口
本文第一代SpringCloudNetflix和第二代SpringCloudAlibaba都有讲解。参考尚硅谷周阳老师的资料。
下面文章不定期更新中。。。
SpringCloud服务注册中心
SpringCloud服务调用
SpringCloud服务降级
SpringCloud服务网关
SpringCloud服务配置
SpringCloud服务总线
SpringCloud消息驱动
SpringCloud链路跟踪
SpringCloud分布式事务
目前总共就Slueth(Zipkin)一个
Spring Cloud Sleuth是一个分布式跟踪解决方案,用于跟踪分布式系统中的请求。它为每个请求生成唯一的跟踪ID,并将这些ID添加到请求中,以便跟踪请求在不同服务之间的传递情况。
Spring Cloud Sleuth使用了Google的Dapper论文中的一些概念,包括Span和Trace。Span代表了在分布式系统中完成的操作,而Trace则表示一系列相关Span的集合。
使用Spring Cloud Sleuth,开发人员可以追踪一个请求在不同的服务之间的传递情况,并且可以在日志中查看每个请求的跟踪ID。这对于找到分布式系统中的性能问题和故障排除非常有帮助。
在Spring Cloud中,可以使用Spring Cloud Sleuth来实现分布式追踪。
以下是使用Spring Cloud Sleuth的步骤:
在pom.xml文件中添加Spring Cloud Sleuth依赖,例如:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
在application.properties(或application.yml)文件中,添加以下配置:
spring.sleuth.sampler.probability: 1.0
这将启用Sleuth并设置采样率为100%。
在需要追踪的代码中添加日志输出,例如:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@RestController
public class MyController {
private static final Logger logger = LoggerFactory.getLogger(MyController.class);
@GetMapping("/hello")
public String hello() {
logger.info("Hello, Sleuth!");
return "Hello, Sleuth!";
}
}
启动应用程序并观察日志输出。Sleuth将为每个请求生成一个唯一的跟踪ID和跟踪标签,以便跟踪请求的路径。
可以使用Zipkin等分布式追踪系统来查看和分析生成的追踪信息。通过配置Sleuth将追踪信息发送到Zipkin服务器。
这些是使用Spring Cloud Sleuth进行分布式追踪的基本步骤。您还可以配置更多的参数来自定义和优化追踪行为。有关更多详细信息,请参阅Spring Cloud Sleuth的官方文档。
在Spring Cloud中,Zipkin是一个开源的分布式跟踪系统。它可以用于跟踪分布式应用的请求链路,并帮助开发人员定位和解决分布式系统中的性能问题。Zipkin可以追踪请求从一个微服务到另一个微服务的传递过程,并记录每个微服务处理请求所花费的时间。通过使用Zipkin,开发人员可以了解到整个请求链路上的每个微服务的响应时间和依赖关系,从而更好地进行性能调优和问题排查。Zipkin还提供了一些附加功能,如错误追踪和服务依赖图可视化等,以帮助开发人员更好地理解和管理分布式应用系统。
下载jar包,然后cmd运行
访问地址 http://localhost:9411/zipkin/
案例:order80调用payment8001
改pom
改yml
改pom
改yml
要在SpringCloud中使用Zipkin,你需要以下步骤:
在Spring Boot的pom.xml
文件中添加spring-cloud-starter-zipkin
依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
在application.yml
(或application.properties
)文件中配置Zipkin的相关属性:
spring:
zipkin:
base-url: http://localhost:9411 # Zipkin服务器的地址
启用Zipkin的追踪功能,可以通过添加@EnableZipkinServer
注解来实现,例如在Spring Boot的主类上添加注解:
@EnableZipkinServer
@SpringBootApplication
public class ZipkinServerApplication {
public static void main(String[] args) {
SpringApplication.run(ZipkinServerApplication.class, args);
}
}
在需要追踪的微服务中,添加Zipkin的客户端依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
在该微服务的application.yml
文件中配置Zipkin的相关属性:
spring:
sleuth:
sampler:
percentage: 1.0 # 设置采样比例,1.0表示全部采样
zipkin:
base-url: http://localhost:9411 # Zipkin服务器的地址
通过以上步骤,你就可以在SpringCloud中使用Zipkin进行分布式追踪了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。