zoukankan      html  css  js  c++  java
  • Spring Cloud 中使用 Zipkin 追踪服务

    Zipkin 简介

    ZipKin 是一个开放源代码的分布式跟踪系统,用于收集服务的定时数据,以解决微服务架构中的延迟问题。包括数据的收集、存储、查找和展现。

    每个服务向 Zipkin 报告计时数据,Zipkin 会根据调用关系通过 Zipkin UI 生成依赖关系图,显示了多少跟踪请求通过每个服务。该组件可以让我们通过一个 Web 前端轻松的收集和分析数据。例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。

    服务追踪说明

    微服务架构是通过业务来划分服务的,使用 REST 调用。对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能。

    如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。

    随着业务的不断扩张,服务之间互相调用会越来越复杂。随着服务的越来越多,对调用链的分析会越来越复杂,如下图:

    《Zipkin 服务链路追踪》

    Zipkin 服务端

    引入依赖

    pom.xml 主要添加 zipkinzipkin-serverzipkin-autoconfigure-ui 依赖

    <dependency>
        <groupId>io.zipkin.java</groupId>
        <artifactId>zipkin</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>
    

    注意: 这里的 zipkin 版本号为 2.10.1,需要将版本号托管到统一依赖管理项目中

    相关配置

    application.yml 主要添加 zipkin 的相关配置

    management:
      metrics:
        web:
          server:
            auto-time-requests: false
    

    Application 启动类中通过 @EnableZipkinServer 注解开启 Zipkin Server 功能

    @SpringBootApplication
    @EnableEurekaClient
    @EnableZipkinServer
    public class ZipkinApplication {
        public static void main(String[] args) {
            SpringApplication.run(ZipkinApplication.class, args);
        }
    }
    

    Spring Cloud Zipkin 客户端

    在所需要被追踪的项目中添加以下配置

    引入依赖

    pom.xml 中添加 spring-cloud-starter-zipkin 依赖

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zipkin</artifactId>
    </dependency>
    

    相关配置

    application.yml 中添加 zipkin 地址即可

    spring:
      zipkin:
        base-url: http://localhost:9411
    

    测试服务追踪

    启动全部项目,打开浏览器访问:http://localhost:9411 ,出现以下界面

    《Zipkin 服务链路追踪》

    点击 Find a trace,可以看到具体服务相互调用的数据

    《Zipkin 服务链路追踪》

    点击 Dependencies,可以发现服务的依赖关系

    《Zipkin 服务链路追踪》

  • 相关阅读:
    MariaDB · 版本特性 · MariaDB 的 GTID 介绍
    stm8s 中断重复进入
    PCB积累
    链表的创建、增加、删除、改数据、遍历
    百度文库文字下载工具指引
    防倒灌的开关电路
    AD快速从原理图查找pcb中元件
    三目运算符填坑
    嵌入式结构化分层思想
    原码,反码,补码
  • 原文地址:https://www.cnblogs.com/antoniopeng/p/12687644.html
Copyright © 2011-2022 走看看