SpringCloud微服务(学习笔记):分布式链路追踪系统 Sleuth Zipkin

分布式链路追踪系统 Sleuth Zipkin

  • 测试用项目环境
  • 链路追踪
  • Sleuth Zipkin
    • QuickStart
      • maven依赖
      • 启动类注解
      • Zipkin服务搭建
      • 相关配置

测试用项目环境

框架 版本
Idea 2019.2
JDK 1.8
SpringBoot 2.1.6.RELEASE
SpringCloud Greenwich.SR2

链路追踪

在微服务系统中,一个服务会进行其他服务的调用,调用链长了之后比较难以维护,因此产生了链路追踪,自动分析一次数据请求的调用关系

Sleuth Zipkin

Sleuth是SpringCloud自带链路追踪系统,但一般情况都直接与Zipkin结合起来用。Zipkin暂且理解为将线路追踪的数据进行可视化。

  • Sleuth文档:SpringCloud-Sleuth
  • Zipkin:zipkin.io

QuickStart

maven依赖

链路追踪系统需要在每个调用和被调用的服务上加入依赖
使用maven依赖管理,使用最新的SpringCloud Greenwich.SR2版本

<dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.cloudgroupId>
        <artifactId>spring-cloud-dependenciesartifactId>
        <version>Greenwich.SR2version>
        <type>pomtype>
        <scope>importscope>
      dependency>
    dependencies>
dependencyManagement>
 
<dependency>
	<groupId>org.springframework.cloudgroupId>
	<artifactId>spring-cloud-starter-zipkinartifactId>
dependency>

配置sleuth后,所有的日志都会加上"sleuth风",类似

2019-11-05 19:10:22.483  INFO [test-service,d6bf2652c1b05e2b,d6bf2652c1b05e2b,false] 5523 --- [nio-8091-exec-1] c.f.a.a.JWTAuthenticationFilter          : header Authorization: null

启动类注解

并不需要启动类注解

Zipkin服务搭建

Zipkin服务其实是一个额外的springboot项目,可以在官网了解使用步骤
我此处使用了docker构建

docker run -d -p 9411:9411 openzipkin/zipkin

还是docker好用,半年之内誓死不看podman

启动之后访问浏览器9411端口便可以看见zipkin页面
SpringCloud微服务(学习笔记):分布式链路追踪系统 Sleuth Zipkin_第1张图片

相关配置

zipkin启动之后需要在服务中配置zipkin的url

spring:
  zipkin:
  	# 后面加不加zipkin都可以,一样的效果
    base-url: http://localhost:9411/

然后就可以启动了
然后界面没啥好说的了,中文界面研究研究就会发现它的作用
就是这么简单

个人感觉可以先搭建起来,但前期作用应该不大,在大项目中维护的时候才会发挥优势

你可能感兴趣的:(笔记,微服务)