SpringCloud实战|SpringCloud 整合sleuth,实现全链路追踪

2022-09-19 11:47:32 浏览数 (2)

引言

本文引入sleuth,作为微服务之间的全链路追踪,本系统主要目的是方便进行日志全局跟踪。

开整

安装zipkin

代码语言:javascript复制
docker pull openzipkin/zipkin
docker run -d --restart always -p 9411:9411 --name zipkin openzipkin/zipkin 

引入依赖

代码语言:javascript复制
 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-sleuth-zipkin</artifactId>
        </dependency>

添加配置信息

代码语言:javascript复制
server:
  port: 30003
spring:
  cloud:
    nacos:
      # 注册中心
      discovery:
        server-addr: http://NACOS地址:8848
      # 配置中心
      config:
        server-addr: ${spring.cloud.nacos.discovery.server-addr}
        file-extension: yaml
        shared-configs[0]:
          data-id: ams-common.yaml
          refresh: true
  application:
    name: demo-c
  sleuth:
    sampler:
      probability: 1
  zipkin:
    sender:
      type: web
    service:
      name: ${spring.application.name}
    base-url: http://cloud.lebao.site:9411/

创建三个相同的服务,都引入此配置信息,然后再创建三个接口:

  • 服务A调用服务B的test接口
  • 服务B调用服务C的test接口
  • 用户请求服务A的test接口

如此形成一个链路,然后打印日志,会看到日志中会多一些trace信息

关注公众号领取2021最新面试题一套和项目源码

0 人点赞