【SpringCloud16】SpringCloud Sieuth分布式请求链路跟踪

news2024/9/27 12:17:08

1.概述

1.1 为什么会出现这个技术?

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

1.2 是什么

sleuth官网
Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案

在分布式系统中提供追踪解决方案并且兼容支持了zipkin
在这里插入图片描述

2.搭建链路监控步骤

2.1 zipkin

SpringCloud从F版起已不需要自己构建Zipkin Server了,只需调用jar包即可
下载网址
命令运行: java -jar zipkin-server-2.24.0-exec.jar
在这里插入图片描述
运行控制台:http://localhost:9411/zipkin/
在这里插入图片描述
术语—完整的调用链路: 表示一请求链路,一条链路通过Trace Id唯一标识,Span标识发起的请求信息,各span通过parent id 关联起来
在这里插入图片描述
一条链路通过Trace Id唯一标识,Span标识发起的请求信息,各span通过parent id 关联起来

在这里插入图片描述
整个链路的依赖关系
在这里插入图片描述
名词解释

  • Trace:类似于树结构的Span集合,表示一条调用链路,存在唯一标识
  • span:表示调用链路来源,通俗的理解span就是一次请求信息

2.2 服务提供者

2.2.1 使用cloud-provider-payment8001

2.2.2 POM

新增POM

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

在这里插入图片描述

2.2.3 YML

新增YML

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

在这里插入图片描述

2.2.4 业务类PaymentController

新增方法

@GetMapping("/payment/zipkin")
public String paymentZipkin() {
    return "hi ,i'am paymentzipkin server fall back,welcome to atguigu,O(∩_∩)O哈哈~";
}

在这里插入图片描述

2.3 服务消费者(调用方)

2.3.1 使用cloud-consumer-order80

2.3.2 POM

新增POM

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

在这里插入图片描述

2.3.3 YML

新增YML

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

在这里插入图片描述

2.3.4 业务类OrderController

新增方法
在这里插入图片描述

2.4 依次启动eureka7001/8001/80

80调用8001测试几次

5.打开浏览器访问

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/170344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux服务器离线安装Gitlab

1、下载 1.1、网址&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 1.2、选择版本 2、安装 2.1、将安装包上传到服务器 2.2、检查相关依赖是否安装 使用命令 rpm -qa | grep -i &#xff08;要查看的依赖名&#xff09;&#xff1b;如果安装了&#…

OpenAI DALL·E 绘画机器人

快过年了&#xff0c;在公司也没啥任务&#xff0c;索性尝试使用OpenAI的DALLE生成一些好玩的图片。 OpenAI DALLE 官方介绍&#xff1a; DALLE 是一种由 OpenAI 开发的大型语言模型&#xff0c;其能够通过生成图像和文本来完成各种任务。其名称来源于绘画机器人 WALLE 和艺术家…

2023年准备报考软考,考哪个?

一般建议从软考中级考试考&#xff0c;科目多&#xff0c;难度也不大&#xff01;关于中级科目。计算机软件类包括&#xff1a;软件评测师、软件设计师、软件过程能力评估师。计算机网络类包括&#xff1a;网络工程师。计算机应用技术类包括&#xff1a;多媒体应用设计师、嵌入…

DBCO-PEG-OPSS_OPSS-PEG-DBCO_二苯并环辛烯PEG巯基吡啶

DBCO 试剂是一类点击化学标记试剂&#xff0c;含有非常活泼的 DBCO&#xff08;&#xff08;二苯并环辛炔&#xff09;基团&#xff0c;DBCO 试剂可以通过无铜点击化学与叠氮化物标记的分子或生物分子发生反应。DBCO 点击化学可以在水性缓冲液中运行&#xff0c;也可以在有机溶…

机器学习知识总结 —— 16.如何实现一个简单的SVM算法

文章目录创建具有特征的二维数据实现SVM算法线性核函数梯度下降和损失函数训练实验效果总结在前面的章节里&#xff0c;已经简要的介绍了SVM算法的工作原理&#xff0c;现在在这篇文章里&#xff0c;我们来看看SVM算法的一些简单实现。 创建具有特征的二维数据 一般来说&…

【闪电侠学netty】第8章 客户端与服务端通信协议编解码

【Netty】读书笔记 - 跟闪电侠学 1. 内容概要 1.1 总结 1.1.1 编码与解码定义 编码&#xff1a;把java对象根据协议封装成二进制数据包的过程 解码&#xff1a;从二进制数据包中解析出Java对象的过程 1.1.2 设计了如下几个类 文件名类型描述Serializerinterface 作用&#…

MacOS Docker 安装和运行原理

本文讲述主要是基于Mac电脑安装教程&#xff0c;使用的是homebrew安装&#xff0c;未安装homebrew的请先自行安装下 一、使用 Homebrew 安装 macOS 我们可以使用 Homebrew 来安装 Docker。Homebrew 的 Cask 已经支持 Docker for Mac&#xff0c;因此可以很方便的使用 Homebrew…

【代码实验】CNN实验——利用Imagenet子集训练分类网络(AlexNet/ResNet)

文章目录前言一、数据准备二、训练三、结果前言 Imagenet是计算机视觉的经典分类比赛&#xff0c;但是Imagenet数据集本身太大了&#xff0c;我们穷学生没有这么大的算力&#xff0c;2016年google DeepMind团队从Imagnet数据集中抽取的一小部分&#xff08;大小约3GB&#xff…

DBCO-PEG-Methacrylate_DBCO-PEG-MA_二苯并环辛炔-PEG-甲基丙烯酸酯

一、试剂基团反应特点&#xff08;Reagent group reaction characteristics&#xff09;&#xff1a;DBCO&#xff08;二苯并环辛炔&#xff09;是一种环炔烃&#xff0c;可以通过在水溶液中通过应变促进的1,3-偶极环加成反应与叠氮化物反应&#xff0c;这种生物正交反应也称为…

Crack:MindFusion.Diagramming for ASP.NET V7.0

MindFusion.Diagramming for ASP.NET V7.0 MindFusion.Diagramming for ASP.NET 为 Web 应用程序提供图表功能。它包括丰富的预定义图表节点以及具有无限行数和列数的表节点。您可以在容器中组织节点&#xff0c;形状设计器 UI 工具可帮助您快速轻松地生成自己的图表节点。 添加…

GD32F450工程模板创建

一、新建工程目录 序号文件夹备注1Project存放工程文件&#xff0c;编译文件等。2Firmware存放ARM内核文件&#xff0c;标准外设库文件等。3Hardware存放开发板的硬件驱动文件。4App存放应用层文件。5User存放main函数&#xff0c;gd32f4xx_it文件&#xff0c;systick文件。6D…

【GD32F427开发板试用】07-硬件SPI驱动0.96LCD

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动&#xff0c;更多开发板试用活动请关注极术社区网站。作者&#xff1a;Stark_GS SPI 简介及特点 具有全双工、半双工和单工模式的主从操作。16位宽度&#xff0c;独立的发送和接收缓冲区。8位或16位数据帧格式。低…

火出圈的《中国奇谭》,如果浪浪山的小妖怪们也用WorkPlus

你会被一只小妖怪感动到破防吗&#xff1f; 最近&#xff0c;由上海美术电影制片厂和B站联合推出的动画片《中国奇谭》火了&#xff0c;仅仅一上线就被打出9.9的高分&#xff0c;频繁登上微博热搜。 其中&#xff0c;第一集《小妖怪的夏天》取材自《西游记》&#xff0c;却从…

Unity编辑器右键菜单实现多平台游戏资源打包—AssetBundle的构建

文章目录&#x1f449;一、初识AssetBundle&#x1f449;二、创建AssetBundle&#x1f449;三、动手操作&#xff1a;实现右键菜单打包AssetBundle&#x1f449;一、初识AssetBundle AssetBundle是Unity提供的一种打包资源的文件格式&#xff0c;比如模型、纹理和音频文件等的各…

大数据导论

数据是什么数据是指对客观事件进行记录并可以鉴别的符号&#xff0c;是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合&#xff0c;它是可识别的、抽象的符号。它不仅指狭义上的数字&#xff0c;还可以是具有一定意义的文字、字母、数字符号的组…

python学习 --- 元组基础

目录 一、什么是元组 1、不可变序列和可变序列 2、元组 二、 元组的创建方式 1、小括号&#xff08;可省略&#xff09; 2、内置函数tuple() 三、元组的获取与遍历 1、元组的获取 2、元组的遍历 一、什么是元组 1、不可变序列和可变序列 不可变序列&#xff1a;没有增…

使用streamlit记录

官方网址&#xff1a;https://docs.streamlit.io/ 官方网址&#xff1a;https://discuss.streamlit.io/t/streamlit-components-community-tracker/4634 官方网址&#xff1a;https://github.com/streamlit/streamlit 第三方插件网址&#xff1a;https://github.com/arnaudmiri…

Solidity 中的数学(第 2 部分:溢出)

本文是关于在 Solidity 中进行数学运算的系列文章中的第二篇。这次的主题是&#xff1a;溢出。 介绍 每次我看到、*或**审计另一个 Solidity 智能合约时&#xff0c;我都会开始写以下评论&#xff1a;“这里可能会溢出”。我需要几秒钟来写这四个字&#xff0c;在这几秒钟内&a…

【Pandas】18 小练习

#【Pandas】18 小练习 2023.1.16 两个pandas小练习 18.1 疫情数据分析 18.1.1 观察数据 import pandas as pd import osdf pd.read_csv("data/covid19_day_wise.csv") dfDateConfirmedDeathsRecoveredActiveNew casesNew deathsNew recoveredDeaths / 100 CasesR…

日常渗透刷洞的一些小工具

SecurityServiceBox&#xff1a;一个Windows平台下既可以满足安服仔日常渗透工作也可以批量刷洞的工具盒子 0x00 更新题外话—终端选取 在盒子的tools当中&#xff0c;很多工具运行都是带有颜色标识的&#xff0c;例如nuclei&#xff0c; vulmap&#xff0c;原生的cmd终端虽然…