微服务之Springcloud从零基础到入门——Sleuth篇

Spring Cloud Sleuth

Spring Cloud Sleuth提供了分布式追踪(distributed tracing)的一个解决方案。其基本思路是在服务调用的请求和响应中加入ID,标明上下游请求的关系。利用这些信息,可以方便地分析服务调用链路和服务间的依赖关系。

下载zipkin并启动(本例以jar包启动,也可以Springboot项目启动)
  1. 下载网址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
  2. 启动zipkin:java -jar zipkin-server-2.12.9-exec.jar
    微服务之Springcloud从零基础到入门——Sleuth篇_第1张图片
  3. 运行zipkin的控制台:http://localhost:9411/zipkin/
    微服务之Springcloud从零基础到入门——Sleuth篇_第2张图片
结合zipkin+sleuth实现监控
  • Span:工作的基本单位。
  • Trace:一组span形成树状结构,是一组调用链路。 例如,如果运行分布式大数据存储,则可能由PUT请求形成跟踪。

下图显示了Span和Trace在系统中的位置,以及Zipkin注释,其中span Id可以看做每一个步骤,trace Id表示唯一的链路标识
微服务之Springcloud从零基础到入门——Sleuth篇_第3张图片
下图显示了span之间的关系
微服务之Springcloud从零基础到入门——Sleuth篇_第4张图片

搭建Sleuth环境

在每个微服务下都配置如下:

  1. 引入jar包
<dependency>
    <groupId>org.springframework.cloudgroupId>
    <artifactId>spring-cloud-starter-zipkinartifactId>
dependency>
  1. 配置application.yml文件
spring:
  zipkin:
    base-url: http://localhost:9411
  sleuth:  #设置采样率为100%
    sampler:
      probability: 1
测试

随机调用某一微服务,然后再zipkin的控制面板中可以查看具体的调用链,如图
微服务之Springcloud从零基础到入门——Sleuth篇_第5张图片
微服务之Springcloud从零基础到入门——Sleuth篇_第6张图片

你可能感兴趣的:(微服务,微服务,spring,cloud)