分布式链路追踪Micrometer Tracing和ZipKin基础入门与实践

【1】概述

在分布式与微服务场景下,我们需要解决如下问题:

  • 在大规模分布式与微服务集群下,如何实时观测系统的整体调用链路情况。

  • 在大规模分布式与微服务集群下,如何快速发现并定位到问题。

  • 在大规模分布式与微服务集群下,如何尽可能精确的判断故障对系统的影响范围与影响程度。

  • 在大规模分布式与微服务集群下,如何尽可能精确的梳理出服务之间的依赖关系,并判断出服务之间的依赖关系是否合理。

  • 在大规模分布式与微服务集群下,如何尽可能精确的分析整个系统调用链路的性能与瓶颈点。

  • 在大规模分布式与微服务集群下,如何尽可能精确的分析系统的存储瓶颈与容量规划。

上述问题就是我们的落地议题答案:

分布式链路追踪技术要解决的问题,分布式链路追踪(Distributed Tracing),就是将一次分布式请求还原成调用链路,进行日志记录,性能监控并将一次分布式请求的调用情况集中展示。比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等。

Micrometer Tracing 是Spring Cloud Sleuth的升级替代。https://micrometer.io/docs/tracing

在这里插入图片描述

Sleuth官网地址:https://spring.io/projects/spring-cloud-sleuth#overview
SleuthGitHub地址:https://github.com/spring-cloud/spring-cloud-sleuth

Spring Cloud Sleuth(micrometer)提供了一套完整的分布式链路追踪(Distributed Tracing)解决方案且兼容支持了zipkin展现。

将一次分布式请求还原成调用链路,进行日志记录和性能监控,并将一次分布式请求的调用情况集中web展示。

【2】分布式链路追踪原理

一条链路通过Trace Id唯一标识,Span标识发起的请求信息,各span通过parent id 关联起来。

在这里插入图片描述

步骤说明
1第一个节点:Span ID = A,Parent ID = null,Service 1 接收到请求。
2第二个节点:Span ID = B,Parent ID= A,Service 1 发送请求到 Service 2 返回响应给Service 1 的过程。
3第三个节点:Span ID = C,Parent ID= B,Service 2 的 中间解决过程。
4第四个节点:Span ID = D,Parent ID= C,Service 2 发送请求到 Service 3 返回响应给Service 2 的过程。
5第五个节点:Span ID = E,Parent ID= D,Service 3 的中间解决过程。
6第六个节点:Span ID = F,Parent ID= C,Service 3 发送请求到 Service 4 返回响应给 Service 3 的过程。
7第七个节点:Span ID = G,Parent ID= F,Service 4 的中间解决过程。
8通过 Parent ID 就可找到父节点,整个链路即可以进行跟踪追溯了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

供应商管理软件:企业挑选新供应商的5个考量

在选择新的供应商时,企业必须进行细致的考量,这一决策对于依赖外部商品的零售商尤为关键。一段成功的合作伙伴关系不仅能够促进销售增长,还能提供稳定的服务支持。相反,失败的合作伙伴关系可能会导致客户不满、利润损失&#xff0…

一篇搞懂!LinuxCentos中部署KVM虚拟化平台(文字+图片)

🏡作者主页:点击! 👨‍💻Linux高级管理专栏:点击! ⏰️创作时间:2024年6月28日15点11分 🀄️文章质量:94分 目录 ————前言———— KVM的优点 KVM…

机器人控制系列教程之Delta机器人运动学分析(2)

基于MATLAB的Delta机器人正向运动学模型求解 我们在上一篇推文 中,推导了Delta机器人的正向运动学,简单来说,就是我们可以通过机器人的末端位姿求解出对应的关节空间的角度(位置)。 最终我们分析该机器人的空间位置结…

服务器数据恢复—raid5阵列硬盘出现大量坏道的数据恢复案例

服务器存储数据恢复环境&故障: 一台DELL EqualLogic PS 4000存储中有一组由12块磁盘组建的raid5阵列,存储空间划分3个同等大小的卷,采用的VMFS文件系统。 两块硬盘指示灯亮黄色,raid5阵列崩溃,存储变得不可用。 服…

C++类型转换可调用对象

目录 C的四种可视性类型转换 1.static_cast 2.reinterpret_cast 3.const_cast 4.dynamic_cast C中的可调用对象 普通函数 函数指针 仿函数 Lambda表达式 包装器function bind C的四种可视性类型转换 C语言中的类型转换是不安全、不明确的,于是C就出了更…

跨境业务经验推荐:三大优秀的IP代理服务商

作为一名多年从事跨境业务的老手,今天我要给大家介绍几款绝对靠谱的IP代理服务商,保证让你的全球业务更加顺畅! 1. 711Proxy 711Proxy以其优秀的性能和覆盖范围广而著称。对于跨境电商和国际业务来说,快速稳定的网络连接至关重要…

115V 400HZ远机位电源车在国际机场的推广与应用

随着我国航空业的快速发展,对于远机位电源车的需求也越来越迫切。远机位电源车可以为飞机提供稳定、可靠的电力,确保飞机在停机、起降、航行等环节中正常运行。在当前的航空技术中,115V 400HZ 远机位电源车技术发展及其在航空领域的应用逐年增…

把 AI 人机炼成高玩,游戏 AI 技术实践指南,码住!

今天,为大家深入浅出地讲明白上亚运的经典 IP《梦三国 2》,到底应用了哪些来自网易数智的 AI 黑科技。看完你就会觉得:原来做 AI,我也行! 方案概述 游戏作为 AI 落地最佳的试验田,近年来已经产生了多个极具…

计算机系统基础(二)

1.数值数据的表示 为什么采用二进制? 二进制只有两种基本状态,两个物理器件就可以表示0和1二进制的编码、技术、运算规则都很简单0和1与逻辑命题的真假对应,方便通过逻辑门电路实现算术运算 数值数据表示的三要素 进位记数制(十…

计算机缺少d3dcompiler_43.dll无法继续执行代码怎么修复

打开游戏或许软件程序时候,我们会经常遇到各式各样的问题,比如找不到d3dcompiler_43.dll无法继续执行代码就是非常常见的问题,今天我叫大家如何解决遇到d3dcompiler_43.dll丢失问题,也详细介绍d3dcompiler_43.dll文件是什么与丢失…

加油卡APP开发,汽车加油省钱新模式

随着社会生活水平的提高,汽车已经成为了家家户户的出行工具,汽车加油也就成为了居民日常出行必不可少的开销。为了让居民享受到更加便利、优惠的加油体验,加油卡APP由此产生,不仅方便了用户,也给汽车加油市场提供了更加…

Qt常用技巧代码分享

写在前面:首先Qt主要是面向于界面设计,界面有些布局以及用法很多,可以不会写代码,但是要知道Qt可以实现这个功能,然后一点点去寻找学习,问AI也好,百度也好都可以,总比Qt可以实现某些布局功能,但是你不知道怎么去实现这些功能要好得多。俗话说的好,可以不会,但是不能…

跨境电商新趋势:海外盲盒小程序的市场机遇

随着全球经济的深度融合和消费者需求的日益多元化,跨境电商作为一种新型的国际贸易模式,正在以前所未有的速度发展。而在这一浪潮中,海外盲盒小程序凭借其独特的商业模式和强大的市场潜力,正逐渐成为跨境电商领域的新宠。本文将探…

双目摄像头测距

Opencv双目校正函数 stereoRectify 详解 参数说明: 输入参数: cameraMatrix1:左目相机内参矩阵 distCoeffs1:左目相机畸变参数 cameraMatrix2:右目相机内参矩阵 distCoeffs2:右目相机畸变参数 imageSize&…

检索增强生成RAG系列6--RAG提升之查询结构化(Query Construction)

在系列3文档处理中,我们着重讲解了文档解析,但是我们说的文档都是大部分是非结构化的文档或者说它就是以一个文档的形式存储。而现实中我们很多有价值的数据可能以结构化(关系型数据库、图形数据库等)或者半结构(关系型…

基于X86+FPGA+AI的切割机控制、六轴机器人控制方案

一、智能设备控制 应用场景 智能制造(Intelligent Manufacturing, IM)是一种由智能机器和人类专家共同组成的人机一体化智能系统,它在制造过程中能进行智能活动,诸如分析、推理、判断、构思和决策等。通过人与智能机器的合作共事,去扩大、延…

从零到百万用户的扩展之路

写在前面: 此博客内容已经同步到我的博客网站,如需要获得更优的阅读体验请前往https://mainjaylai.github.io/Blog/blog/system/design-system 设计一个支持数百万用户的系统是极具挑战性的,它是一段需要持续优化和不断改进的旅程。在这篇博客中,我们将构建一个支持单个用…

开发数字药店APP实战:互联网医院系统源码详解

本篇文章,笔者将深入探讨如何开发一个功能完善的数字药店APP,并详细解析互联网医院系统的源码实现。 一、数字药店APP的需求分析 应具备以下基本功能: 用户注册与登录 药品搜索与浏览 在线下单与支付 订单管理 健康咨询与远程医疗 个人…

人脉社群平台微信小程序系统源码

🌟【解锁人脉新纪元:探索人脉社群平台小程序】🌟 🚀【开篇:为什么我们需要人脉社群平台小程序?】🚀 在这个快节奏的时代,人脉不再是简单的名片交换,而是通往成功与机遇…

发电机保护屏的作用及其重要性

发电机保护屏的作用及其重要性 发电机保护屏是电力系统中的重要组成部分,它负责监测和控制发电机的运行状态,确保发电机在正常运行和故障情况下都能得到及时、准确的保护。负责监测和控制发电机运行状态,确保及时准确的保护。它由显示屏、控制…