前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Cloud 系列之链路监控 Sleuth - Zipkin

Spring Cloud 系列之链路监控 Sleuth - Zipkin

作者头像
Demo_Null
发布2020-11-24 14:54:40
8310
发布2020-11-24 14:54:40
举报
文章被收录于专栏:Java 学习Java 学习

1.1 简介

1.1.1 概述

  在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。在微服务比较少的时候,某一个服务出现问题我们可以很快排查出来。现在一个项目中微服务很多而且调用关系复杂,某一个服务出现问题我们很难能够排查出来。Spring Cloud Sleuth 为 Spring Cloud 实现了分布式跟踪解决方案,它大量借用了 Google Dapper、Twitter Zipkin 和 Apache HTrace 的设计。

1.1.2 相关术语

Spring Cloud Sleuth 采用的是 Google 的开源项目 Dapper 的专业术语。 Span:基本工作单元,发送一个远程调度任务 就会产生一个 Span,Span 是一个 64 位 ID 唯一标识的,Trace 是用另一个 64 位 ID 唯一标识的,Span 还有其他数据信息,比如摘要、时间戳事件、Span 的 ID、以及进度 ID。 Trace:一系列 Span 组成的一个树状结构。请求一个微服务系统的 API 接口,这个 API 接口,需要调用多个微服务,调用每个微服务都会产生一个新的 Span,所有由这个请求产生的 Span 组成了这个 Trace。 Annotation:用来及时记录一个事件的,一些核心注解用来定义一个请求的开始和结束 。这些注解包括以下:   ♘ cs - Client Sent:客户端发送一个请求,这个注解描述了这个 Span 的开始   ♘ sr - Server Received:服务端获得请求并准备开始处理它,如果将其 sr 减去 cs 时间戳便可得到网络传输的时间。   ♘ ss - Server Sent(服务端发送响应):该注解表明请求处理的完成(当请求返回客户端),如果 ss 的时间戳减去 sr 时间戳,就可以得到服务器请求的时间。   ♘ cr - Client Received(客户端接收响应):此时 Span 的结束,如果 cr 的时间戳减去 cs 时间戳便可以得到整个请求所消耗的时间。

1.2 Zipkin

1.2.1 Zipkin 服务端

  Spring Cloud 从 F 版开始就不需要自己构建服务端了,只需要使用他提供的 jar 就可以了 ☛ 下载地址,启动 jar 访问 9411 端口就可以看到页面了。

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

1.2.2 Zipkin 客户端

☞ 相关依赖
代码语言:javascript
复制
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
☞ 配置文件
代码语言:javascript
复制
# 在需要被监控的服务中加入如下配置
spring:
  zipkin:
    base-url: http://127.0.0.1:9411
  sleuth:
    sampler:
      # 采样值介于 0 - 1 之间,1 表示全部采集
      percentage: 1
☞ 测试

  请求被监控的服务,我们乐意在 Zipkin 的 UI 界面中看到请求耗时等数据信息。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-11-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 简介
    • 1.1.1 概述
      • 1.1.2 相关术语
      • 1.2 Zipkin
        • 1.2.1 Zipkin 服务端
          • 1.2.2 Zipkin 客户端
            • ☞ 相关依赖
            • ☞ 配置文件
            • ☞ 测试
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档