SpringCloud-Sleuth 分布式请求链路跟踪

Sleutd的做用

在微服务系统中,客户端发起的一个请求在后端系统中可能会通过多个不一样的服务节点,当系统变得复杂、庞大,每一个前端请求都会造成一条复杂的分布式服务调用链路,链路的任何一个环节出了差错就会致使整个请求的失败前端

Spring Cloud Sleuth 提供了一套完整的服务跟踪的解决方案,并兼容支持了 zipkin,为了方便监控,咱们须要安装一下 Zipkinjava

安装 Zipkin 监控平台

Spring Cloud 从 F 版起就不须要本身构建 Zipkin Server 了,只须要导入 jar 包便可spring

一、下载:http://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/后端

二、使用 java -jar 命令运行浏览器

三、浏览器访问 http://localhost:9411/zipkin/,进入以下界面便可maven

zipkin 基本原理

一条链路经过 trace Id 标识,Span 标识发起的请求信息,各个 Span 经过 Parent Id 关联分布式

整个链路的依赖关系以下所示:微服务

Trance:相似于树结构的 Span 的集合,表示一条调用链路,存在惟一标识url

Span:表示调用链路的来源,通俗来讲 Span 就是一次请求信息code

进行链路监控

须要的依赖(zipkin 中是包含 sleuth 的)

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

添加配置

spring:
  zipkin:
  	# 指定 zipkin 地址
    base-url: http://localhost:9411
  sleuth:
    sampler:
      # 采样率介于 0~1 之间,1表示所有采集
      probability: 1

在服务提供者、消费者上都添加上述配置以后,发送的请求就会被监控了,能够在 zipkin 可视化界面查看详情

相关文章
相关标签/搜索