微服务 SpringCloud Sleuth链路追踪

微服务 SpringCloud Sleuth链路追踪

  • 1. Sleuth概述
    • 1.1 Sleuth简介
    • 1.2 Sleuth解决方案
  • 2. zipkin概述
    • 2.1 zipkin下载
    • 2.2 zipkin运行
    • 2.3 zipkin监控
  • 3. zipkin案例验证
    • 3.1 zipkin服务提供者
    • 3.2 zipkin服务消费者
    • 3.3 zipkin监控效果

1. Sleuth概述

1.1 Sleuth简介

在微服务架构中,不同服务之间的调用错综复杂,当一个客户端发起请求后,在后端往往需要经过很多个不同的服务节点经过协同调用才能产生结果,后端不同服务之间的调用会形成一条复杂的分布式服务调用链路,链路中任何一个环节出现延时或者错误都会引起整个请求失败。比如,订单调用支付,调用积分,调用库存,调用物流等等。

SpringCloud Sleuth要解决的问题就是分布式微服务链路追踪监控。

sleuth监控+zipkin仪表盘,会详细记录调用链路,调用每个服务所耗费时间,以及每个服务依赖关系等信息。
微服务 SpringCloud Sleuth链路追踪_第1张图片

1.2 Sleuth解决方案

Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案。
在分布式系统中提供追踪解决方案并且兼容支持了zipkin,sleuth监控+zipkin仪表盘。

git地址:https://github.com/spring-cloud/spring-cloud-sleuth

官网地址:https://spring.io/projects/spring-cloud-sleuth#overview
微服务 SpringCloud Sleuth链路追踪_第2张图片

2. zipkin概述

2.1 zipkin下载

SpringCloud从F版起已不需要自己构建Zipkin server了,只需要调用jar包即可。

下载zipkin可执行jar包:zipkin-server-2.12.9.exec.jar。
下载地址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/

2.2 zipkin运行

cd到jar目录下,运行命令

java -jar zipkin-server-2.12.9-exec.jar

微服务 SpringCloud Sleuth链路追踪_第3张图片微服务 SpringCloud Sleuth链路追踪_第4张图片

2.3 zipkin监控

访问地址:http://localhost:9411/zipkin/
微服务 SpringCloud Sleuth链路追踪_第5张图片Trace:类似于树结构的Span集合,表示一条调用链路,存在唯一标识。
span:表示调用链路来源,通俗的理解span就是一次请求信息。

3. zipkin案例验证

3.1 zipkin服务提供者

引入依赖

        
        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-zipkinartifactId>
        dependency>

配置yml

spring:
  application:
    name: cloud-payment-service
  zipkin:
      base-url: http://localhost:9411
  sleuth:
    sampler:
    #采样率值介于 0 到 1 之间,1 则表示全部采集
    probability: 1

3.2 zipkin服务消费者

服务消费者与提供者依赖配置相同。

3.3 zipkin监控效果

微服务 SpringCloud Sleuth链路追踪_第6张图片微服务 SpringCloud Sleuth链路追踪_第7张图片微服务 SpringCloud Sleuth链路追踪_第8张图片

你可能感兴趣的:(服务架构,zipkin,sleuth,分布式链路追踪)