这里只用到springcloud生态到zipkin组件做服务之间调用的链路跟踪
先建立一个zipkin服务,引入依赖
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<scope>runtime</scope>
</dependency>
配置以9411端口启动服务,这里不能用其他的端口,不然会抛异常,服务间调用的时候链路底层代码会触发这个端口的请求.
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
server:
port: 9411
spring:
application:
name: service-zipkin
启动类加**@EnableZipkinServer**注解
生产者和消费者服务添加相同的依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
把zipkin链路跟踪服务地址绑定到配置文件
spring:
zipken:
base-url: http://localhost:9411
目前测试只启动4个服务
除了zipkin服务,用户服务作为生产者,订单服务作为消费者,网关服务用来管理接口请求.
以客户端调用订单中心的一个接口为例,其中订单服务的这个接口通过RestTemplate调用了用户中心的服务.
请求http://localhost:8888/api/order/call?token=lindl
在zipkin控制台点击find traces查看链路信息