Sleuth和zipkin

news/2024/10/18 3:35:23/

1、Sleuth是什么

为什么会出现这个技术?要解决哪些问题?

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

在这里插入图片描述
在这里插入图片描述
是什么

  • https://github.com/spring-cloud/spring-cloud-sleuth
  • Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案
  • 在分布式系统中提供追踪解决方案并且兼容支持了zipkin

解决
在这里插入图片描述

2、Sleuth之zipkin搭建安装

下载

  • SpringCloud从F版起已不需要自己构建Zipkin Server了,只需调用jar包即可
  • https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
  • https://zipkin.io/pages/quickstart.html(上面那个好像不能访问了,这个是官网)
  • zipkin-server-2.12.9-exec.jar
    运行jar
java -jar zipkin-server-2.12.9-exec.jar

在这里插入图片描述

运行控制台

http://localhost:9411/zipkin/

在这里插入图片描述
原理图:—条链路通过Trace ld唯一标识,Span标识发起的请求信息,各span通过parent id关联起来。
在这里插入图片描述
整个链路的依赖关系如下:
在这里插入图片描述


http://www.ppmy.cn/news/64603.html

相关文章

利用Python+selenium技术,实现浏览器基本操作详解,代码有详细注释

首先,需要安装selenium库和对应的浏览器驱动程序。以Chrome浏览器为例,可以使用以下命令安装selenium和chromedriver: pip install selenium然后,需要下载对应版本的chromedriver,并将其添加到环境变量中。下载地址&a…

MySQL基础(十六)变量、流程控制与游标

1. 变量 在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。 在 MySQL 数据库中,变量分为系统变量以及用户自定义变量。 1.1 系统变量 1.1.1 系统变量分类 变量由系统定义&#xff…

Vue Test Utils前端单元测试

含义 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。在提供了经过测试的单元的情况下,系统集成过程将会大大地简化。流行框架 Mocha (https://mochajs.cn/)、Jest (https://www.jestjs.cn/) Mocha Chai…

最强算法视频公开课!(内容硬核,完全免费!

和录友们汇报一下,代码随想录算法公开课已经更新完毕了。 由我亲自录制了140期算法视频,覆盖了 《代码随想录》纸质版上全部题目的讲解。 视频全部免费开放在B站:代码随想录 目录就在视频播放的右边,完全按照代码随想录的顺序讲…

C++系列五:输入/输出

C输入输出 1. 输入2. 输出3. 格式化输出4. 总结 1. 输入 输入是指从外部源获得数据的过程, C中可通过键盘或文件等外部源来获取输入数据。 (1)cin cin是C标准库中的一个输入流对象,用于从标准输入设备(通常是键盘&a…

GEE:使用 ROC 曲线和 AUC 评估分类算法性能

作者:CSDN @ _养乐多_ 在机器学习和遥感数据分析领域,评估分类算法的性能是关键任务之一。Google Earth Engine(GEE)平台提供了丰富的遥感数据和分析工具,结合 ROC(接收者操作特征)曲线和 AUC(曲线下面积)分析,可以有效评估分类算法的准确性和可靠性。 本文将介绍如…

Unity 坐标系

一、左手坐标系与右手坐标系 常见的三维软件都采用笛卡尔坐标系,也就是常见的xyz轴坐标系。笛卡尔坐标系可以是左手坐标系也可以是右手坐标系,如下图所示 两种坐标系是镜像对称的。而Unity采用左手系,且xyz轴的默认方向与图中的左手系完全一…

C#开发的OpenRA游戏使用匿名类

C#开发的OpenRA游戏使用匿名类 OpenRA游戏里,使用了很多C#的特性,比如下的代码:var orders = self.TraitsImplementing<IIssueOrder>() .SelectMany(trait => trait.Orders.Select(x => new { Trait = trait, Order = x })) .Select(x => x) .O…