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

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

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

Spring Cloud Sleuth 是分布式系统中跟踪服务间调用的工具,它可以直观地展示出一次请求的调用过程,本文将对其用法进行详细介绍。

1.Spring Cloud Sleuth 简介

随着我们的系统越来越庞大,各个服务间的调用关系也变得越来越复杂。当客户端发起一个请求时,这个请求经过多个服务后,最终返回了结果,经过的每一个服务都有可能发生延迟或错误,从而导致请求失败。这时候我们就需要请求链路跟踪工具来帮助我们,理清请求调用的服务链路,解决问题。

2.给服务添加请求链路跟踪

我们将通过user-service和ribbon-service之间的服务调用来演示该功能,这里我们调用ribbon-service的接口时,ribbon-service会通过RestTemplate来调用user-service提供的接口。

2.1 首先给user-service和ribbon-service添加请求链路跟踪功能的支持;
2.2 在user-service和ribbon-service中添加相关依赖:
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
2.3 修改application.yml文件,配置收集日志的zipkin-server访问地址:
spring:
  zipkin:
    base-url: http://localhost:9411
  sleuth:
    sampler:
      probability: 0.1 #设置Sleuth的抽样收集概率

3.整合Zipkin获取及分析日志

Zipkin是Twitter的一个开源项目,可以用来获取和分析Spring Cloud Sleuth 中产生的请求链路跟踪日志,它提供了Web界面来帮助我们直观地查看请求链路跟踪信息。

3.1 SpringBoot 2.0以上版本已经不需要自行搭建zipkin-server,我们可以从该地址下载zipkin-server:https://repo1.maven.org/maven2/io/zipkin/java/zipkin-server/2.12.9/zipkin-server-2.12.9-exec.jar
3.2 下载完成后使用以下命令运行zipkin-server:

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

3.3 Zipkin页面访问地址:http://localhost:9411

有截图

3.4 启动eureka-sever,ribbon-service,user-service:

有截图

3.5 多次调用(Sleuth为抽样收集)ribbon-service的接口http://localhost:8301/user/1 ,调用完后查看Zipkin首页发现已经有请求链路跟踪信息了;

在这里插入图片描述

3.6 点击查看详情可以直观地看到请求调用链路和通过每个服务的耗时:

有截图

4.持久化跟踪信息

如果我们把zipkin-server重启一下就会发现刚刚的存储的跟踪信息全部丢失了,可见其是存储在内存中的,有时候我们需要将所有信息存储下来,这里以存储到Elasticsearch为例,来演示下该功能。

4.1 安装Elasticsearch
4.1.1 下载Elasticsearch6.2.2的zip包,并解压到指定目录,下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-2-2

在这里插入图片描述

4.1.2 运行bin目录下的elasticsearch.bat启动Elasticsearch

在这里插入图片描述

4.2 修改启动参数将信息存储到Elasticsearch
4.2.1 使用以下命令运行,就可以把跟踪信息存储到Elasticsearch里面去了,重新启动也不会丢失;

#STORAGE_TYPE:表示存储类型 ES_HOSTS:表示ES的访问地址
java -jar zipkin-server-2.12.9-exec.jar --STORAGE_TYPE=elasticsearch --ES_HOSTS=localhost:9200

4.2.2 之后需要重新启动user-service和ribbon-service才能生效,重启后多次调用ribbon-service的接口http://localhost:8301/user/1;
4.2.3 如果安装了Elasticsearch的可视化工具Kibana的话,可以看到里面已经存储了跟踪信息:

可视化工具Kibana的请求地址 http://127.0.0.1:5601/

暂无测试通过

4.3 更多启动参数参考

官网

5.使用到的模块

Spring-Cloud-Greenwich
├── eureka-server – eureka注册中心
├── user-service – 提供User对象CRUD接口的服务
└── ribbon-service – ribbon服务调用测试服务

6.项目源码地址

https://github.com/yanglin1501804006/spring-cloud-vGreenwich.SR3

微服务sleuth+zipkin——链路追踪 SpringCloud Sleuth主要功能就是在分布式系统中提供追踪解决方案。它大量借用了Google Dapper的设计, 先来了解一下Sleuth中的术语和相关概念。 阅读详情

相关推荐

SpringBoot集成ZipKin实现链路跟踪

​ 当我们的服务器成千上万,当我们的模块上万成千,当我们的调用链路复杂如蜘蛛网时,我们突然发现一个小小的性能问题却不能快速定位到点!千万不要以为自己是神,当年那个觉得ELK日志分析系统多余的程序员已经被老板祭天!​ 废话有点多,今天我们要做的一件事非常简单,如何在一个多层调用的接口里快速查看它们的网络拓扑图并得到监控数据!

长沙老码农 5692

ZipKin原理学习--ZipKin入门介绍

ZipKin入门介绍 Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper的论文设计而来,由 Twitter 公司开发贡献。其主要功能是聚集来自各个异构系统的实时监控数据。分布式跟踪系统还有其他比较成熟的实现,例如:Naver的Pinpoint、Apache的HTrace、阿里的鹰眼Tracing、京东...

井底之蛙 5万+

Spring cloud系列十四 分布式链路监控Spring Cloud Sleuth

1. 概述Spring Cloud Sleuth实现对Spring cloud 分布式链路监控 本文介绍了和Sleuth相关的内容,主要内容如下: Spring Cloud Sleuth中的重要术语和意义:Span、Trance、Annotation Zipkin中图形化展示分布式链接监控数据并说明字段意义 Spring Cloud集成Sleuth + Zipkin 的代码demo: Sleuth

不积跬步无以至千里; 不积小流无以成江海 3万+

Spring Cloud Sleuth介绍以及简单示例

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

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

分布式链路追踪之Spring Cloud Sleuth+Zipkin最全教程

今天这篇文章陈某介绍一下链路追踪相关的知识,以Spring Cloud Sleuth和zipkin这两个组件为主,后续文章介绍另外一种。 文章的目录如下: 为什么需要链路追踪? 大型分布式微服务系统中,一个系统被拆分成N多个模块,这些模块负责不同的功能,组合成一套系统,最终可以提供丰富的功能。在这种分布式架构中,一次请求往往需要涉及到多个服务,如下图: 服务之间的调用错综复杂,对于维护的成本成倍增加,势必存在以下几个问题: 服务之间的依赖与被依赖的关系如何能够清晰的看到? 出现异常时如何

a1472750149的博客 3054

SpringCloud学习笔记(十二)Sleuth 分布式请求链路跟踪

在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。官网https。...

小鲁蛋的博客 2333

服务链路跟踪:Sleuth+Zipkin

目录第一章 Sleuth+Zipkin介绍1.1、什么是Sleuth1.2、什么是Zipkin第二章 Sleuth+Zipkin入门案例2.1、项目准备与启动2.2、搭Zipkin服务端2.3、搭Zipkin客户端2.4、链路跟踪的测试 配套资料,免费下载 链接:https://pan.baidu.com/s/1la_3-HW-UvliDRJzfBcP_w 提取码:lxfx 复制这段内容后打开百度网盘手机App,操作更方便哦 第一章 Sleuth+Zipkin介绍 1.1、什么是Sleuth 我们已经接触

轻松的小希 9036

Spring Cloud Sleuth+RabbitMQ+Zipkin实现微服务分布式链路跟踪

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

MR_ZFJ的博客 1326

Spring Cloud Sleuth在分布式中进行日志跟踪

Sleuth是什么?Zipkin是什么?他们两个是什么关系?Sleuth怎么用?Zipkin怎么用?Zipkin怎么配置持久化?怎么修改Sleuth发消息方式?引入sleuth是怎么输出traceId的?除了Zipkin还有哪些链路跟踪?针对于这些问题本篇文章会一一讲解!

怪咖@的博客 2446

SpringCloud链路追踪——Spring Cloud Sleuth 和 Zipkin 介绍 &amp; Windows 下使用初步_spring链路跟踪

在微服务中,随着服务越来越多,对调用链的分析越来越复杂。如何能够分析调用链,定位微服务中的调用瓶颈,并对其进行解决。本篇博客介绍springCloud中用到的链路追踪的组件,Spring Cloud Sleuth和Zipkin,介绍基本的概念,并给出了一个入门的使用案例。

2501_90192164的博客 1041

如何通过常规测井曲线识别砂岩、泥岩、碳酸盐岩和煤层

常规测井曲线通过不同岩性的物理性质差异识别砂岩、泥岩、碳酸盐岩和煤层。砂岩表现为低自然伽马(GR)、中等密度(RHOB)和声波时差(DT);泥岩以高GR、高中子(NPHI)和高DT为特征;碳酸盐岩显示低GR、高RHOB和低DT;煤层则具有极低RHOB、极高NPHI和DT的独特组合。综合GR与三孔隙度曲线(RHOB、NPHI、DT)可有效区分岩性,其中密度测井对煤层识别最可靠。电阻率(RT)曲线辅助判断流体性质,但需结合其他参数综合分析。

love code, love life. 2593

Spring Cloud Sleuth:分布式链路跟踪

Spring Cloud Sleuth:分布式链路跟踪

qq_35763697的博客 2479

界面上下固定_基于ANSYS的胶粘结构界面开裂有限元计算

引言:目前工程上主要有螺栓,过盈,焊接和胶粘四种常用的连接方式,本文基于ANSYS Workbench环境,引入内聚力模型来实现对胶粘结构界面开裂失效的计算,文中的界面失效参数为随意给定,不是工程实际测试数据,仅起到演示作用!1.问题的描述如图所示给出了胶粘结构的三维模型,该胶粘结构由上下钢板组成,中间通过胶粘接到一起。(胶不需要建模,其影响主要通过内聚力模型实现)上下板的材料为结构钢,...

weixin_29473667的博客 1万+

Spring Cloud Sleuth 分布式链路追踪

Spring Cloud Sleuth 分布式链路追踪

weixin_46619605的博客 2061

从零构建:基于Docker与FRR的OSPF虚拟网络实验室

本文详细介绍了如何利用Docker与FRR构建OSPF虚拟网络实验室,从环境设计到高级网络拓扑配置,再到实验验证与排错。通过容器化技术实现高效资源利用和快速部署,特别适合网络协议教学、企业网络架构验证等场景。

plum99的博客 222

精通DC-DC变换器:Boost升压电路全解析

Boost升压变换器是一种将低直流电压转换为高直流电压的常用电路。其核心工作原理是通过电感储能:开关导通时电感充电,关断时电感与电源串联向负载供电。关键公式表明输出电压Vo=Vi/(1-D),占空比D越大,升压比越高。变换器工作时会产生电感电流纹波和输出电压纹波,需合理选择电感和电容参数。开关管和二极管需承受完整的输出电压,对元器件选型要求较高。理解这些原理是设计高效升压电源的基础。

2511_92918351的博客 3709

五分钟学会 Spring Cloud Sleuth:分布式请求链路跟踪(小白必看,一看就会教程)

Spring Cloud Sleuth:分布式请求链路跟踪 Spring Cloud Sleuth 简介 给服务添加请求链路跟踪 整合Zipkin获取及分析日志 使用Elasticsearch存储跟踪信息 安装Elasticsearch 修改启动参数将信息存储到Elasticsearch 更多启动参数参考 福利 Spring Cloud Sleuth 是分布式系统中跟踪服务间调用的工具,它可以直观地展示出一次请求的调用过程,本文将对其用法进行详细介绍。 Spring Cloud Sleuth 简介 随着

码上代码的博客 1万+

深入分析RAG知识库多模态数据预处理

多模态企业数据预处理是构建高质量RAG知识库的关键环节。本文详解了处理流程:1)文档格式识别与路由;2)多模态内容提取(文本、图像、音视频);3)结构解析与语义重建;4)数据清洗与增强;5)智能分块(强调语义完整性);6)元数据注入。推荐使用开源工具如PaddleOCR、Whisper、BLIP-2等,或商业API处理复杂场景,最终生成带丰富元数据的结构化内容,为后续向量化检索奠定基础。

qq_35354529的博客 1379

SpringCloud Sleuth分布式链路请求跟踪

分布式链路追踪之Spring Cloud Sleuth+Zipkin最全教程!pring Cloud Sleuth提供了一套完整的服务跟踪的解决方案在分布式系统中提供追踪解决方案并且兼容支持了zipkin(负责展现)Spring Cloud Sleuth实现了一种分布式的服务链路跟踪解决方案,通过使用Sleuth可以让我们快速定位某个服务的问题。简单来说,Sleuth相当于调用链监控工具的客户端,集成在各个微服务上,负责产生调用链监控数据。

梦想也许遥不可及,但重要的是追梦的过程,用博客记录自己的成长,记录自己一步一步向上攀登的印记 3128

uniapp+google map不显示

uniapp+renderJS+google map开发安卓版APP非小程序,google map小叉号不显示,google map自定义marker右上角的小叉号如何去掉,uniapp+google map不显示

renkai721的专栏 527

Java 实现 MP3 音频合并工具类:摆脱 FFmpeg,高效低 CPU 的纯本地方案【需求已解决】

本方案充分发挥了 Java 音频 SPI 的潜力,实现了轻量、跨平台、低 CPU 消耗的 MP3 音频合并工具类。 对于希望在服务器或桌面应用中集成音频处理功能的开发者而言,这无疑是一个可行且优雅的解决方案。

一键难忘的博客 543

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

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

weixin_42907150的博客 846

专为AI打造的浏览器:内存占用仅为Chrome的1/9、比Chrome快11倍(Docker部署教程,支持飞牛nas等服务器部署)

🚀 专为AI打造的无头浏览器来了! 用Zig从零构建,内存仅Chrome的1/9,速度快11倍,原生CDP协议支持Docker部署,适合爬虫、自动化测试和AI代理应用。✨

XiaoqiangClub的博客 732

(十一)spring-cloud入门学习:分布式链路跟踪Spring Cloud Sleuth和Zipkin

随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位服务故障点,以对症下药。于是就有了分布式系统调用跟踪的诞生。本文主要介绍Spring Cloud Sleuth和Zipkin进行链路跟踪。

guangcaiwudong的博客 4302

NTscan扫描工具

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

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【spring Cloud/spring Boot 2.0】引入链路跟踪Sleuth及Zipkin

我的访问地址:http://localhost:7755/zipkin/ 注:最后一定要以 " / " 结尾,不然访问不了 Zipkin是一种分布式跟踪系统,它有助于收集解决微服务架构中得延迟问题所需的时序数据,它管理这些数据的收集和查找。 1. 架构概述 跟踪器存在于您的应用程序中,并记录有关发生的操作的时间和元数据。他们经常使用库,因此它们的使用对用户是透明的。例如,已检测的Web服...

seowen的开发 小本子 3375

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: 07.Spring Cloud Zuul:API网关服务
下一篇: nodejs安装与配置
Spring的思念
博客等级 码龄7年 80粉丝 143原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值