当前位置: 首页 > news >正文

SpringCloud(18)之Sleuth +Zipkin链路追踪

一、Zipkin介绍

        Zipkin是一个开放源代码分布式的跟踪系统,它可以帮助收集服务的时间数据,以解决微服务架构中的延迟问 题,包括数据的收集、存储、查找和展现。每个服务向zipkin报告计时数据,zipkin会根据调用关系通   Zipkin UI生成依赖关系图,展示多少跟踪请求经过了哪些服务,该系统让开发者可通过一个web前端 轻松地收集和分析数据,可非常方便的监测系统中存在的瓶颈。

        

        它可以帮助收集服务的时间数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找 和展现。

         每个服务向zipkin报告计时数据,zipkin会根据调用关系通过Zipkin UI生成依赖关系图,展示多少  跟踪请求经过了哪些服务,该系统让开发者可通过一个web前端轻松地收集和分析数据,可非常方便的监测系统中存在的瓶颈。

二、Spring Cloud Sleuth

        为服务之间的调用提供链路追踪,通过使用Sleuth可以让我们快速定位某个服务的问题。分布式服务追 踪系统包括:数据收集、数据存储、数据展示。通过Sleuth产生的调用链监控信息,让我们可以得知微 服务之间的调用链路,但是监控信息只输出到控制台不太方便查看。

        SleuthZipkin结合,将信息发送到Zipkin,利用Zipkin的存储来存储信息,利Zipkin UI来展示信 息。

        SpringCloud Sleuth有4个特点:

特点

说明

提供链

路追踪

通过sleuth可以很清楚的看出一个请求经过了哪些服务,  可以方便的理清服务局的调 用关系

性能分

通过sleuth可以很方便的看出每个采集请求的耗时,  分析出哪些服务调用比较耗时,  当服务调用的耗时 随着请求量的增大而增大时,也可以对服务的扩容提 供一定的提醒 作用

数据分

析优

化链路

对于频繁地调用一个服务,或者并行地调用等,  可以针对业务做一些优化措施

可视化

对于程序未捕获的异常,可以在zipkpin界面上看到

三、Zipkin 安装

        关于zipkin在上面我们已经介绍了,我们接下来讲解zipkin的安装。

1)下载 

  下载地址:Central Repository: io/zipkin/zipkin-server      

2)运行 

         运行 zipkin-server-2.12.9-exec.jar ,java -jar zipkin-server-2.12.9-exec.jar 回车即可运行,并访问http://localhost:9411/zipkin/

http://localhost:9411/zipkin/ 效果如下:

 

三、Sleuth链路追踪

1)引入依赖 

        引入ziplin,它自身已经依赖了sleuth,我们再hailtaxi-order依赖包中引入:

        <!--zipkin--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId><version>2.2.2.RELEASE</version></dependency>

 依赖关系如下图:

 2)配置服务地址

        修改 hailtaxi-order 的配置文件 applicatin.yml添加如下配置:

server:port: 18082
spring:application:name: hailtaxi-orderzipkin:#zipkin服务地址base-url: http://localhost:9411sleuth:sampler:probability: 1  #采样值,0~1之间,1表示全部信息都手机,值越大,效率越低

 我们执行一次下单调用 http://localhost:18082/order ,再看zipkin控制台:

 我们刚才调用的链路如下图:

         分布式服务追踪系统包括:数据收集、数据存储、数据展示,通过Sleuth产生的调用链监控信息,让我们可以得知微服务之间的调用链路,但是监控信息只输出 到控制台不太方便查看,SleuthZipkin结合,将信息发送到Zipkin,利用Zipkin的存储来存储信息,利用Zipkin UI来展示 信息

http://www.lryc.cn/news/310726.html

相关文章:

  • GVA快速使用
  • Linux文本处理三剑客:awk(内置函数详解笔记)
  • C++调用lua函数
  • java找工作之Mybatis(入门及xml配置相关)
  • 如何保证 HTTPS 证书的有效性?
  • Qt 简约美观的动画 摆钟风格 第十季
  • Vue 3 中的 Composition API 详解
  • 利用Python爬取高德地图全国地铁站点信息
  • Vue 3 中的 Teleport 特性详解
  • 小白的matlab简单应用
  • 边缘计算网关在机床生产中的应用-天拓四方
  • maven配置文件(一)Settings配置
  • 选择何种操作系统作为网站服务器
  • 【LeetCode】升级打怪之路 Day 11:栈的应用、单调栈
  • 题目 1454: 蓝桥杯历届试题-蚂蚁感冒
  • WP外贸营销型网站模板
  • Linux获取进程(系统启动时间和运行时间)运行时间
  • 服务器内部错误的原因
  • 不愧是华为的,太厉害了。。。
  • 贪心算法(区间问题)
  • 【Javascript】设计模式之策略模式
  • vue面试题:如何保存页面的当前的状态?
  • Java的编程之旅34——Interger包装类
  • C# Winform画图绘制圆形
  • Unity(第十六部)声音和视频
  • Linux(CentOS)学习
  • HTML最强入门学习笔记+GitHub小项目源码
  • 《Spring Security 简易速速上手小册》第4章 授权与角色管理(2024 最新版)
  • 【java类的使用,及注意事项】
  • [JSOI2008] 最大数 题解 线段树