Spring Cloud Sleuth分布式链路跟踪

Spring Cloud Sleuth+RabbitMQ+Zipkin实现微服务分布式链路跟踪 前言:现在网络上实现微服务分布式链路跟踪的资料,所使用的Spring Cloud绝大多数都是比较老的版本,最近笔者在学习基于Spring Cloud实现链路跟踪,查阅了大量资料,由于采用的Spring Cloud版本很新,所以踩了不少坑。为此,特写此篇,一来,便于自己今后的翻阅,二来,与大家共勉。 版本介绍:Spring Cloud Greenwish.SR1 服务模块:服务注册中心eu... 阅读详情

1、概述

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

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

官网:https://cloud.spring.io/spring-cloud-sleuth/reference/html/

2、zipkin的搭建安装

SpringCloud从F版之后就不需要自己构建Zipkin Server了,只需要调用相关jar包即可,下载其jar包到本地,进入到该jar包的目录,在命令行中输入java -jar命令运行该jar文件:

jar包下载地址:http://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/

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

在这里插入图片描述
访问 http://localhost:9411/zipkin/ 进入zipkin监控平台页面:

在这里插入图片描述

3、项目中使用SpringCloud 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面板中即可查看服务调用链路:

在这里插入图片描述

SpringCloud Sleuth 概述提供了Sleuth框架作为解决方案,Sleuth可以在整个分布式系统中跟踪一个用户请求的过程包括数据采集,数据传输,数据存储,数据分析,数据可视化等捕获这些跟踪的数据,并构建微服务的整个调用链的视图,为服务跟踪、解决问题提供便利。特点:1.提供链路追踪 2.性能分析 3.数据分析 4.可视化在实际开发中,Zipkin默认展示的链路数据有时无法满足我们想要获取的数据,比如,无法在Zipkin的UI界面中看到请求发送人的名称这时,可以使用Zipkin添加自定义链路数据。 阅读详情

相关推荐

springcloud(十):使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪

随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位服务故障点,以对症下药。于是就有了分布式系统调用跟踪的诞生。 现今业界分布式服务跟踪的理论基础主要来自于 Google 的一篇论文《Dapper, a Large-Scale Distributed...

dency 490

Spring Cloud Sleuth介绍以及简单示例

Spring Cloud Sleuth是一个分布式追踪系统,用于在分布式系统中跟踪和解决请求的性能问题。它提供了一套API和工具,帮助开发人员在微服务架构中跟踪请求的流程,并可以追踪请求在不同微服务之间的传递。Spring Cloud Sleuth通过在请求的不同环节中添加唯一的标识符,称为Trace ID和Span ID,来追踪请求的路径和性能。Trace ID是整个请求的唯一标识符,Span ID是每个环节中的唯一标识符。通过这些标识符,开发人员可以分析请求的流程和性能瓶颈,并进行优化。

记录并分享一些日常工作和学习笔记 4210

FLoRA: 基于异构低秩适应的联邦微调大语言模型

大语言模型(LLMs)的快速发展推动了人工智能的进步,预训练的LLMs可以通过微调适应各种下游任务。联邦学习(FL)通过利用客户端的本地数据进行原位计算,进一步增强了隐私保护的微调,消除了数据移动的需求。然而,考虑到LLMs的巨大参数量,微调LLMs对于资源受限且异构的FL客户端来说是一个挑战。之前的方法采用了低秩适应(LoRA)进行高效的联邦微调,但在LoRA适配器上使用了传统的FL聚合策略。这些方法导致了数学上不准确的聚合噪声,降低了微调效果,并且未能解决异构LoRA的问题。

tiger00O的博客 2066

分布式链路追踪Spring Cloud Sleuth简介及使用

1. 问题场景 为了支撑日益增⻓的庞大业务量,我们会使用微服务架构设计我们的系统,使得我们的系统不仅能够通过集群部署抵挡流量的冲击,又能根据业务进行灵活的扩展。那么,在微服务架构下,一次请求少则经过三四次服务调用完成,多则跨越几十个甚至是上百个服 务节点。 那么问题接踵而来: 如何动态展示服务的调用链路?(比如A服务调用了哪些其他的服务—依赖关系) 如何分析服务调用链路中的瓶颈节点并对其进行调优?(比如A—>B—>C,C服务处理时间特别⻓) 如何快速进行服务链路的故障发现? 解决以上问题就是

rzpy_qifengxiaoyue的博客 591

Android手机免root玩转Kali NetHunter:Termux保姆级安装指南(附Kex VNC配置)

本文提供了一份详细的Android手机免root安装Kali NetHunter的保姆级指南。通过使用Termux终端模拟器,用户无需解锁Bootloader或获取root权限,即可在普通安卓设备上部署完整的Kali Linux渗透测试环境。教程涵盖了从环境准备、NetHunter核心安装到配置Kex VNC实现图形桌面访问的全过程,并附带了电脑投屏与常见问题解决方案,旨在打造一个便携的移动安全学习与测试平台。

weixin_29208327的博客 299

保姆级教程:用VESTA软件5分钟搞定纳米颗粒Wulff Construction建模(以Au金为例)

本文提供了一份详细的VESTA软件教程,指导用户如何在5分钟内完成纳米颗粒Wulff Construction建模,特别以金(Au)为例。从环境搭建、基础晶体结构创建到Wulff Construction设置和可视化优化,涵盖了全流程操作步骤和常见问题解决方案,适合科研新手快速上手。

weixin_29311017的博客 436

使用Spring Cloud Sleuth实现微服务跟踪

使用Spring Cloud Sleuth实现微服务跟踪 之前已经了解了几种监控微服务的方式,例如使用Spring Boot Actuator监控微服务示例,使用Hystrix监控Hystrix Command等。 为什么要实现微服务追踪 Peter Deutsch的分布式计算的八大误区。 网络可靠 延迟为零 带宽无限 网络绝对安全 网络拓扑不会改变 必须有一名管理员 传输成本为零 网络同质化 从中可以看到,该文章很多点都在描述一个问题——网络问题。网络常常很脆弱,同时网络资源也是有限的。 我们知道,微服

shi_zi_183的博客 698

大数据课程综合实验案例:网站用户行为分析

大数据课程综合实验案例1 案例简介1.1 案例目的1.2 适用对象1.3 时间安排1.4 预备知识1.5 硬件要求1.6 软件工具1.7 数据集1.8 案例任务1.9 实验步骤2 本地数据上传到数据仓库Hive2.1 实验数据集的下载2.2 数据集的预处理(1)删除文件第一行记录,即字段名称(2)对字段进行预处理(3)导入数据库3 Hive数据分析3.1 操作Hive3.2 简单查询分析3.3 查询条数统计分析3.4 关键字条件查询分析3.4.1 以关键字的存在区间为条件的查询3.4.2 关键字赋予给定值为

weixin_44616879的博客 1万+

Cloud-Sleuth分布式链路追踪(服务跟踪)

在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案在分布式系统中提供追踪解决方案并且兼容支持了zipkin(管展现) Cloud-Sleuth(管监控)这么说吧:Cloud把zipkin收编了 然后取名Sleuth。

tiantiantbtb的博客 1414

python 携程登陆_Python 学习练习之用户登录接口

目的:用python实现简单用户注册,登陆,加黑功能,放个流程图吧。以下内容仅为练习 执行流程:[root@zabbix login]# python user_login.pyusername:tompassword:123456Are you want to register ? [y/n]yRegister successful,Please relogin ![root@zabbix lo...

weixin_28679635的博客 518

自动驾驶小车DIY:树莓派+激光雷达实现DWA路径规划(从仿真到实车)

本文详细介绍了如何基于树莓派与激光雷达,从零搭建一套完整的自动驾驶小车系统,并实现DWA局部路径规划算法。内容涵盖硬件选型、ROS环境部署、DWA算法原理与仿真,以及关键的实车调试与性能优化技巧,为创客和竞赛爱好者提供了一套低成本、高可行性的自主导航解决方案。

kiwi8的博客 530

SpringCloud :Spring Cloud Sleuth和Zipkin进行分布式链路跟踪

在分布式服务架构中,需要对分布式服务进行治理——在分布式服务协同向用户提供服务时,每个请求都被哪些服务处理?在遇到问题时,在调用哪个服务上发生了问题?在分析性能时,调用各个服务都花了多长时间?哪些调用可以并行执行?…… 为此,分布式服务平台就需要提供这样一种基础服务——可以记录每个请求的调用链;调用链上调用每个服务的时间;各个服务之间的拓扑关系…… 我们把这种行为称为“分布式服务跟踪”。 1. 背景 现今业界分布式服务跟踪的理论基础主要来自于 Google 的一篇论文《Dapper, a Large-Sca

m0_46413263的博客 267

【Claude Code】Not logged in 未登录错误解决方案 + /login 认证路径

Claude Code 启动时提示 Not logged in 表示当前会话缺少有效凭证。本文从环境变量、API Key 配置、CI 自动化凭证脚本和系统时钟四个维度,提供完整的认证排查流程与修复方案。

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 894

十三、Spring Cloud 微服务之 SpringCloud Sleuth 分布式请求链路跟踪

文章目录SpringCloud Sleuth 分布式请求链路跟踪1. 概述1.1 为什么会出现这个技术?需要解决哪些问题?1.2 是什么1.3 解决2. 搭建链路监控步骤2.1 zipkin 需安装使用1. 访问控制台2. 术语2.2 服务提供者1. 在父项目中创建 cloud-provider-sleuth9001 生产者服务module2.3 服务消费者1. 在父项目中创建 cloud-consumer-sleuth80 消费者服务module2.4 测试 SpringCloud Sleuth 分布式请

zhou_zhao_xu的博客 358

PyTorch实战(12)——图神经网络(Graph Neural Network,GNN)

在本节中,我们首先简要概述了图神经网络 (Graph Neural Network, GNN) 的核心概念与应用,GNN 通过构建计算图分层聚合节点特征,解决了传统神经网络处理图数据时的四大局限:信息深度不足、节点顺序敏感、动态扩展困难和特征稀疏性问题。了解了不同类型的图学习任务(包括节点级、边级和图级三大类)。接着我们研究了几种流行的 GNN 模型,包括:GCN (通过权重共享实现图卷积)、GAT (引入注意力机制区分邻居重要性)和 GraphSAGE (采用随机采样应对大规模图)。

盼小辉丶的博客 3672

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

微服务架构专题十一:Spring-Cloud 之 Sleuth、zipkin 分布式链路跟踪

文章目录一、分布式链路跟踪介绍(一)sleuth介绍:(二)sleuth介绍图:二、sleuth整合Zipkin实现分布式链路跟踪(一)Zipkin简介:(二)为什么要Zipkin(三)编写一个Zipkin Server(四)sleuth微服务整合Zipkin三、zipkin server 数据持久化问题(一)使用Elasticsearch 做数据持久化 一、分布式链路跟踪介绍 本节课来讨论微服务...

严老板的技术梦想博客 848

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

(第十三篇)spring cloud之Sleuth分布式链路跟踪

在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。Spring Cloud Sleuth 为提供了分布式追踪解决方案的 API。它与集成Spring Cloud Sleuth 能够追踪您的请求和消息,从而将这些通信与相应的日志条目关联起来。你也可以把追踪信息导出到外部系统,以直观地显示延迟。Spring Cloud Sleuth 直接支持。

hk000001的博客 747

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Spring Cloud Sleuth:分布式链路跟踪

Spring Cloud Sleuth:分布式链路跟踪

qq_35763697的博客 2481

第十一篇:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪

在分布式服务架构中,需要对分布式服务进行治理——在分布式服务协同向用户提供服务时,每个请求都被哪些服务处理?在遇到问题时,在调用哪个服务上发生了问题?在分析性能时,调用各个服务都花了多长时间?哪些调用可以并行执行?…… 为此,分布式服务平台就需要提供这样一种基础服务——可以记录每个请求的调用链;调用链上调用每个服务的时间;各个服务之间的拓扑关系…… 我们把这种行为称为“分布式服务跟踪”。 背景 现今业界分布式服务跟踪的理论基础主要来自于 Google 的一篇论文《Dapper, a Large-Scal

m0_46413279的博客 236

Spring Cloud Sleuth:分布式请求链路跟踪

SpringBoot实战电商项目mall(20k+star)地址:github.com/macrozheng/… 摘要 Spring Cloud Sleuth 是分布式系统中跟踪服务间调用的工具,它可以直观地展示出一次请求的调用过程,本文将对其用法进行详细介绍。 Spring Cloud Sleuth 简介 随着我们的系统越来越庞大,各个服务间的调用关系也变得越来越复杂。当客户端发起一个请求时...

wanghao112956的博客 155

Spring-Cloud组件之分布式链路跟踪sleuth

Spring-Cloud组件之分布式链路跟踪sleuth常见问题sleuth介绍sleuth整合Zipkin实现分布式链路跟踪Zipkin简介:为什么要用Zipkin编写一个Zipkin Serversleuth微服务整合Zipkinzipkin server 数据持久化问题使用Elasticsearch 做数据持久化 常见问题 对于一个大型的微服务架构系统,会有哪些常见问题? 如何串联调用链,快...

qq_33486185的博客 906

【Spring Cloud Sleuth 分布式链路跟踪】 —— 每天一点小知识

本文对你理解和使用 Spring Cloud Sleuth 提供了帮助。通过分布式链路跟踪,你可以更好地监控和分析微服务架构中的请求和性能。享受开发的乐趣吧!

仰望天空,妳我亦是行人. 2741

Spring Cloud Sleuth分布式链路跟踪 相关图形

一 业务:多个微服务 对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题。 二 需求:监控微服务 如何串联整个调用链路,快速定位问题?定位问题,不再使用查看日志的方式。 如何理清各个微服务之间的依赖关系? 如何进行各个微服务接口的性能分折? 如何跟踪整个业务流程的调用处理顺序? 三 解决方案: 1 功能“集”:分布式链路跟踪 2 “神”工具 Spring Boot Actuator + 端点 Spring Boot Admi...

aiwokache的博客 607

Spring Cloud Sleuth 分布式请求链路跟踪

Spring Cloud Sleuth 简介 Spring Cloud Sleuth 是分布式系统中跟踪服务间调用的工具,它可以直观地展示出一次请求的调用过程,本文将对其用法进行详细介绍。 随着我们的系统越来越庞大,各个服务间的调用关系也变得越来越复杂。当客户端发起一个请求时,这个请求经过多个服务后,最终返回了结果,经过的每一个服务都有可能发生延迟或错误,从而导致请求失败。这时候我们就需要请求链路跟踪工具来帮助我们,理清请求调用的服务链路,解决问题。 给服务添加请求链路跟踪 我们将通过 user-serv

彭楷淳在 优快云 305
上一篇: SpringCloud Stream消息驱动
下一篇: SpringCloud Alibaba入门简介
jf-lin
博客等级 码龄7年 37粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值