引言
本文引入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最新面试题一套和项目源码