一、简介
微服务架构属于一个分布式架构,它是按照业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量比较多,业务的复杂性,如果出现了错误和异常,很难去定位。所以微服务架构中,必须实现分布式链路追踪,去跟进请求访问路径,以及访问的顺序,这样一旦某个环节出现问题,就可以快速去定位。具体的描述可以去参考CSDN上的博客。
二、zipkin-server搭建
首先POM文件:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
</dependency>
在程序的启动类Application加上@EnableZipkinServer开启ZipkinServer的功能,加上@EnableEurekaClient注解,启动Eureka Client。
yml配置如下:
eureka:
client:
serviceUrl:
defaultZone: http://name:pass@IP地址/eureka/
instance:
ip-address: Ip地址
prefer-ip-address: true
server:
port: 9411
spring:
application:
name: zipkin-server
以上时候链路追服务中心的配置,接下来需要在各个服务模块上添加。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
<version>RELEASE</version>
</dependency>
同时在yml中指定zipkin服务地址:
spring:
application:
name: user-service
zipkin:
base-url: http://localhost:9411
这样在我们调用一个完整的服务是就可以在zipkin界面上看到访问顺序。