第十四章 AlibabaCloud微服务下的链路追踪系统

2023-10-31

1.微服务架构下的排查问题复杂性概述

  • 两个常⻅的问题
    微服务调⽤链路出现了问题怎么快速排查?
    微服务调⽤链路耗时⻓怎么定位是哪个服务?
  • 链路追踪系统
    分布式应⽤架构虽然满⾜了应⽤横向扩展的需求,但是运维和诊断的过程变得越来越复杂,例如会遇到接⼝诊断困难、应⽤性能诊断复杂、架构分析复杂等难题,传统的监控⼯具并⽆法满⾜,分布式链路系统由此诞⽣
  • 核⼼
    将⼀次请求分布式调⽤,使⽤GPS定位串起来,记录每个调⽤的耗时、性能等⽇志,并通过可视化⼯具展示出来
  • 注意:AlibabaCloud全家桶还没对应的链路追踪系统,我们使⽤Sleuth和zipkin

2.SpringCloud的链路追踪组件Sleuth

  • 什么是Sleuth
    ⼀个组件,专⻔⽤于记录链路数据的开源组件
    ⽂档:https://spring.io/projects/spring-cloud-sleuth
    添加依赖

         <dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-sleuth</artifactId>
         </dependency>
    

    案例
    在这里插入图片描述 第⼀个值 ,api-gateway,spring.application.name的值
    第⼆个值,ba6baabd40836aee,sleuth⽣成的⼀个ID,叫Trace ID,⽤来标识⼀条请求链路,⼀条请求链路中包含⼀个Trace ID,多个Span ID
    第三个值,ba6baabd40836aee、spanid 基本的⼯作单元,获取元数据,如发送⼀个http
    第四个值:true,是否要将该信息输出到zipkin服务中来收集和展示

3.可视化链路追踪系统Zipkin

  • 什么是zipkin
    官网:https://zipkin.io/
    ⼤规模分布式系统的APM⼯具(ApplicationPerformance Management),基于Google Dapper的基础实现,和sleuth结合可以提供可视化web界⾯分析调⽤链路耗时情况

  • 同类产品
    鹰眼(EagleEye)
    CAT
    twitter开源zipkin,结合sleuth
    Pinpoint,运⽤JavaAgent字节码增强技术
    StackDriver Trace (Google)

  • 启动服务

        java -jar  zipkin-server-*exec.jar                                                                
    

    访问⼊⼝:http://127.0.0.1:9411/zipkin/
    zipkin组成:Collector、Storage、Restful API、WebUI组成
    在这里插入图片描述

    4.链路追踪组件Zipkin+Sleuth整合

  • sleuth收集跟踪信息通过http请求发送给zipkin server

  • zipkin server进⾏跟踪信息的存储以及提供Rest API即可

  • Zipkin UI调⽤其API接⼝进⾏数据展示默认存储是内存,可也⽤mysql 或者elasticsearch等存储

  • 微服务加⼊依赖

        <dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-zipkin</artifactId>
         </dependency>                                                      
    
  • 配置地址和采样百分⽐配置

       spring:
         application:
            name: api-gateway
         zipkin:
            base-url: http://192.168.3.104:9411/ #zipkin地址
            discovery-client-enabled: false #不⽤开启服务发现
         sleuth:
           sampler:
             probability: 1.0 #采样百分⽐                                                  
    

    默认为0.1,即10%,这⾥配置1,是记录全部的sleuth信息,是为了收集到更多的数据(仅供测试⽤)在分布式系统中,过于频繁的采样会影响系统性能,所以这⾥配
    置需要采⽤⼀个合适的值
    在这里插入图片描述
    在这里插入图片描述

5.链路追踪系统Zipkin持久化配置

  • 现存在的问题
    服务重启会导致链路追踪系统数据丢失

  • 持久化配置:mysql或者elasticsearch
    创建数据库表
    启动命令

         java -jar zipkin.jar --STORAGE_TYPE=mysql --MYSQL_HOST=192.168.3.102 --MYSQL_TCP_PORT=3306  --MYSQL_DB=zipkin_log --MYSQL_USER=root --MYSQL_PASS=123456  
    

    在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第十四章 AlibabaCloud微服务下的链路追踪系统 的相关文章

随机推荐

  • [1149]RabbitMQ CPU 占用过高优化

    文章目录 背景 问题排查 error logger 问题 erlang 调度器问题 总结 背景 服务器上搭建的 RabbitMQ 在并发量不是很大的情况下 CPU 占用竟然达到了 40 左右 这种情况第一感觉是不科学的 推测应该是使用不当或
  • 电脑上编辑文件打字时页面乱跳解决方法

    问题描述 在网页上编写文章 执行复制 粘贴或者换行等操作时 会出现页面滑动的情况 而光标在编辑的文案中的位置却没变 原因分析 设置了鼠标灵敏度 解决方案 步骤1 打开控制面板 步骤2 在右上方输入鼠标或点击硬件与声音 点击鼠标 步骤3 在鼠
  • 离散数学4_第5章关系与函数__关系矩阵

    关系矩阵的 定义 注意这里 m n阶的矩阵 是指m 行 n列的 矩阵 如果行 列相等 称为方阵
  • textarea 光标位置相关

    textarea cursor postion 兼容 i8 通过 本案例的对于文本域的处理以后就可以 扩展使用了 功能 本文主要的内容是介绍了 在文本域中 光标的位置获取 被选中文本的位置获取 start end 以及在光标位置插入文本 或
  • python寻找相似用户_基于用户相似性的协同过滤——Python实现

    coding utf 8 importrandom mathfrom operator importitemgetterclassUserBasedCF def init self trainDataFile None testDataFi
  • 【Unity问题&错误】list问题

    error CS0305 Using the generic type System Collections Generic List
  • ctfshow web入门 代码审计

    文章目录 web301 web302 web303 web304 web305 web306 web307 web308 web309 web310 web301 下载源码后在checklogin php发现问题代码
  • ChatGPT未来会拥有自我情感和思维吗?

    ChatGPT是一种基于人工智能的聊天机器人 它可以模拟人类的对话 并且可以回答各种问题 目前 ChatGPT已经非常先进 但是它是否会拥有自我情感和思维呢 首先 我们需要明确一点 ChatGPT是一种基于机器学习的算法 它的行为是由程序员
  • 记一次阿里巴巴电话面试题

    前几天投了阿里巴巴校招简历 今天晚上突然来了阿里的面试电话 有点紧张又有点激动 面试的问题问的挺全面 但是有些准备不足 因此回答的并不算太满意 现在整理一下分享给大家 希望进阿里的小伙伴可以来踩踩 1 自我介绍 打电话时我刚吃完饭 上来就介
  • AndroidManifest.xml作用

    今天在看到一篇博客是对于博主对于AndroidManifest xml文件的作用的理解深感赞同 AndroidManifest xml文件就是在安装的时候用来给PackageManagerService进行解析 分析出这个APK的packa
  • 【NeurIPS 2021】ViT 中增强的 Shortcut Connection:Augmented Shortcuts for Vision Transformers

    Augmented Shortcuts for Vision Transformers 论文地址 主要工作 方案简介 基本定义 具体实现 Augmented Shortcuts Efficient Implementation via Ci
  • 权限维持篇---Windows权限维持--隐藏篇

    权限维持篇 Windows权限维持 隐藏篇 文章目录 权限维持篇 Windows权限维持 隐藏篇 前言 一 隐藏文件 二 隐藏账号 三 端口复用 四 进程注入 五 结束 六 我的公众号 前言 攻击者在获取服务器权限后 通常会用一些后门来维持
  • AD 原理图网络未连上,设置DRC报错

    AD原理图整理时 碰到一个网络没有连接 但是DRC检查没有提示有异常的情况 如下图 R7H右端并没有连上 然而原理图检查居然没有问题 在导入PCB时才报错 因为原理图DRC没有报错 想要找到问题 需要蛮多时间 细思极恐 AD其实是可以设置检
  • 数据结构-顺序栈的基本操作的实现(含全部代码)

    主要操作函数如下 InitStack SqStack s 参数 顺序栈s 功能 初始化 时间复杂度O 1 Push SqStack s SElemType e 参数 顺序栈s 元素e 功能 将e入栈 时间复杂度 O 1 Pop SqStac
  • 【黑马程序员】面向对象(五) 第九天

    android培训 java培训 java学习型技术博客 期待与您交流 知识点 异常处理能够使一个方法给它的调用者抛出一个异常 异常发生在一个方法的执行过程中 RuntimeException和Error都是免检异常 其它所有异常都是必检的
  • vite --- 搭建开发环境

    目录 下载安装和初始化VSCode 安装Node js yarn 使用 pnpm 安装与使用 搭建第一个Vite项目 使用 PNPM创建项目 项目目录解读 下载安装和初始化VSCode 1 访问网站 Visual Studio Code C
  • editplus配置python环境 和 php环境

    editplus配置python环境 和 php环境 使用editplus这么久 才知道是可以配置python环境 和 php环境 想来真丢人 这就是自学的痛苦之处 许多时如果不是自己突然想到 只会永远在黑暗中摸索 editplus配置py
  • KNN与CNN

    KNN与CNN相关 KNN K Nearest Neighbor 最邻近分类算法 就是k个最近的邻居的意思 说的是每个样本都可以用它最接近的k个邻居来代表 KNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个
  • windows xp 驱动开发(三)DDK与WDK WDM的区别

    转自 http www cnblogs com hyddd archive 2009 03 15 1412684 html 最近尝试去了解WINDOWS下的驱动开发 现在总结一下最近看到的资料 1 首先 先从基础的东西说起 开发WINDOW
  • 第十四章 AlibabaCloud微服务下的链路追踪系统

    1 微服务架构下的排查问题复杂性概述 两个常 的问题 微服务调 链路出现了问题怎么快速排查 微服务调 链路耗时 怎么定位是哪个服务 链路追踪系统 分布式应 架构虽然满 了应 横向扩展的需求 但是运维和诊断的过程变得越来越复杂 例如会遇到接