SpringCloud Alibaba - 链路追踪(浅谈链路追踪 / 阿里组件 并没有链路追踪,应该选取哪一种使用好)

SpringCloud Alibaba - 链路追踪(浅谈链路追踪 / 阿里组件 并没有链路追踪,应该选取哪一种使用好)

回溯

前面的章节讲解了微服务的互相调用,以及注册发现,熔断,网关等等,但是这些操作还不足以支撑项目的开发,我们还需要对程序的各方面分析等等,那么这章节讲解 链路追踪 ,不过和网关一样,Alibaba并没有开源相对应的组件,所以我们需要自己进行选择。

链路追踪(介绍)

在大型系统的微服务化构建中,一个系统被拆分成了许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心,也就意味着这种架构形式也会存在一些问题:

  • 如何快速发现问题?
  • 如何判断故障影响范围?
  • 如何梳理服务依赖以及依赖的合理性?
  • 如何分析链路性能问题以及实时容量规划?

在这里插入图片描述
就是这样一个调用链,一个用户请求了应用A,应用A需要请求应用B和应用C,而应用C需要请求应用D和应用E。

分布式链路追踪(Distributed Tracing),就是将一次分布式请求还原成调用链路,进行日志记录,性能监控并将一次分布式请求的调用情况集中展示。比如各

使用Spring Cloud Alibaba进行链路追踪,需要使用阿里巴巴开源的中间件——Nacos和Sentinel。 具体步骤如下: 1. 引入依赖 在pom.xml文件中,引入以下依赖: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-seata</artifactId> </dependency> ``` 2. 配置Nacos 在application.yml文件中,添加以下配置: ```yaml spring: cloud: nacos: discovery: server-addr: ${NACOS_SERVER_ADDR:localhost:8848} sentinel: transport: dashboard: localhost:8080 port: 8719 ``` 3. 配置Sentinel 在application.yml文件中,添加以下配置: ```yaml spring: cloud: sentinel: transport: dashboard: localhost:8080 port: 8719 ``` 4. 配置链路追踪 在启动类中添加@EnableZipkinServer注解,激活Zipkin Server: ```java @SpringBootApplication @EnableZipkinServer public class ZipkinServerApplication { public static void main(String[] args) { SpringApplication.run(ZipkinServerApplication.class, args); } } ``` 5. 配置Sleuth 在服务中,需要使用Spring Cloud Sleuth进行链路追踪。在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency> ``` 然后在application.yml文件中配置: ```yaml spring: sleuth: sampler: probability: 1.0 ``` 以上就是使用Spring Cloud Alibaba进行链路追踪的步骤。总的来说,需要配置Nacos、Sentinel、Zipkin Server和Sleuth,以保证链路追踪的正常运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值