手把手教你搭建SpringCloud项目(十七)集成Sleuth分布式链路跟踪

简介: 手把手教你搭建SpringCloud项目(十七)集成Sleuth分布式链路跟踪

继续更新中,欢迎点赞关注!


1. 概述

在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。所以在较复杂的系统中,一个调用链路中会有很多个微服务,无疑我们需要对链路上的微服务进行跟踪。


SpringCloud Sleuth就提供了一套完整的服务跟踪的解决方案,在分布式系统中提供了追踪解决方案并且兼容支持了zipkin,SpringCloud Sleuth负责对微服务调用链路的收集整理,而zipkin负责对链路的展现。


2. zipkin的搭建安装

SpringCloud从F版之后就不需要自己构建Zipkin Server了,只需要调用相关jar包即可,zipkin的jar包下载地址,下载其jar包到本地,我下的是当前最新的zipkin-server-2.12.9-exec.jar。进入到该jar包的目录,在命令行中输入java -jar命令运行该jar文件:

java -jar zipkin-server-2.12.9-exec.jar

访问 http://localhost:9411/zipkin/ 进入zipkin监控平台页面:


3. Sleuth链路监控展现

在需要被链路监控的微服务中引入如下依赖:

<!--包含了sleuth+zipkin-->
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

比如在我们最开始学习Eureka服务注册中心时使用的8001微服务(服务提供方)和80微服务(服务消费方),那时候80微服务作为服务消费方访问8001提供的微服务,我们现在在这两个微服务中引入上述依赖,并在配置文件中配置zipkin和sleuth的配置信息:

spring:
  zipkin:
    base-url: http://localhost:9411
  sleuth:
    sampler:
      # 采样率值介于0到1之间,1表示全部采集
      probability: 1

在80和8001微服务都引入了上述依赖并添加了上面的配置后,启动Eureka服务注册中心、8001服务提供方服务、80服务消费方服务,然后我们用80调用8001的服务进行测试,在zipkin面板中即可查看服务调用链路:


我们Spring Cloud Sleuth到这里就学习完毕了,那我们Spring Cloud整套也学习完了。是不是so easy!


由于时间原因就转发的其他小伙伴六甲横宝的文章,点击查看原文!


下一系列我们学习Spring-Cloud-Alibaba,持续学习,持续更新,下一节更精彩!欢迎朋友们点赞关注!感谢!

相关文章
|
3月前
|
数据采集 运维 DataWorks
DataWorks 千万级任务调度与全链路集成开发治理赋能智能驾驶技术突破
智能驾驶数据预处理面临数据孤岛、任务爆炸与开发运维一体化三大挑战。DataWorks提供一站式的解决方案,支持千万级任务调度、多源数据集成及全链路数据开发,助力智能驾驶模型数据处理与模型训练高效落地。
|
8月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
290 18
|
8月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
224 16
|
NoSQL Java Redis
面试官:项目中如何实现分布式锁?
面试官:项目中如何实现分布式锁?
294 7
面试官:项目中如何实现分布式锁?
|
监控 Java 对象存储
监控与追踪:如何利用Spring Cloud Sleuth和Netflix OSS工具进行微服务调试
监控与追踪:如何利用Spring Cloud Sleuth和Netflix OSS工具进行微服务调试
184 1
|
数据可视化 Linux Android开发
Flutter相关痛点解决问题之研发链路中的环境配置和打包集成问题如何解决
Flutter相关痛点解决问题之研发链路中的环境配置和打包集成问题如何解决
|
2月前
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
230 2
|
2月前
|
存储 缓存 NoSQL
【📕分布式锁通关指南 12】源码剖析redisson如何利用Redis数据结构实现Semaphore和CountDownLatch
本文解析 Redisson 如何通过 Redis 实现分布式信号量(RSemaphore)与倒数闩(RCountDownLatch),利用 Lua 脚本与原子操作保障分布式环境下的同步控制,帮助开发者更好地理解其原理与应用。
156 6
|
3月前
|
存储 缓存 NoSQL
Redis核心数据结构与分布式锁实现详解
Redis 是高性能键值数据库,支持多种数据结构,如字符串、列表、集合、哈希、有序集合等,广泛用于缓存、消息队列和实时数据处理。本文详解其核心数据结构及分布式锁实现,帮助开发者提升系统性能与并发控制能力。

热门文章

最新文章