springcloud整合zipkin

1.zipkin简述

Zipkin是一个开放源代码分布式的跟踪系统,它提供了在分布式环境下发送、接收、存储和可视化跟踪的机制。这使我们能够对服务之间的活动进行关联,并更清楚地了解我们服务中发生的情况。Zipkin由Twitter公司开源,致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。每个服务向zipkin报告计时数据,zipkin会根据调用关系通过Zipkin UI生成依赖关系图,显示了多少跟踪请求通过每个服务,该系统让开发者可通过一个 Web 前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。Zipkin提供了可插拔数据存储方式:In-Memory、MySql、Cassandra以及Elasticsearch。接下来的测试为方便直接采用In-Memory方式进行存储,生产推荐Elasticsearch。


image.png

2.搭建zipkin服务

pom文件:

   4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.1.RELEASE
        
    
    com.rt.zmwang.infosys
    ZM-Zipkin
    1.0-SNAPSHOT
    ZM-Zipkin

    
        UTF-8
        UTF-8
        1.8
        Greenwich.SR3
    
    

        
            org.springframework.cloud
            spring-cloud-starter
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
        
            org.springframework.cloud
            spring-cloud-starter-zipkin
        
        
            io.zipkin.java
            zipkin-server
            2.11.10
        
        
            io.zipkin.java
            zipkin-autoconfigure-ui
            2.11.10
        
        
            org.springframework.cloud
            spring-cloud-starter-eureka
            1.4.5.RELEASE
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

配置文件:

server:
  #服务端口号
  port: 8988
spring:
  application:
    #服务名称 - 服务之间使用名称进行通讯
    name: zipkin
management:
  metrics:
    web:
      server:
        auto-time-requests: false
eureka:
  client:
    service-url:
      #填写注册中心服务器地址
      defaultZone: http://localhost:8321/eureka
  instance:
    prefer-ip-address: true
    instance-id: ${spring.cloud.client.ip-address}:${server.port}

启动文件:

@EnableEurekaClient
@SpringBootApplication
@EnableZipkinServer
public class ServiceZipkinApplication {

    public static void main(String[] args) {
        SpringApplication.run(ServiceZipkinApplication.class, args);
    }
}

启动界面:


zipkin界面

3.客户端处理

pom文件引入:

   
            org.springframework.cloud
            spring-cloud-sleuth-zipkin
  

然后启动服务;
可进行链路追踪界面

image.png
image.png

你可能感兴趣的:(springcloud整合zipkin)