• spring cloud分布式整合zipkin的链路跟踪


    为什么使用zipkin?

    上篇主要写了:spring cloud分布式日志链路跟踪

    从上篇中可以看出服务之间的调用,假设现在有十几台服务,那么在查找日志的时候比较繁琐、复杂,而且在查看调用的时候也会像蜘蛛网一样,量太大。

    这时候zipkin可以把链路调用整个过程给升级起来,只需要到一个地方去查找,就可以知道哪一步出错。

    zipkin也分为服务器和客户端,服务器就是zipkin,微服务就是客户端。

     首先,建立服务器zipkin

    在此服务build.gradle加上zipkin的依赖:

        compile 'io.zipkin.java:zipkin-server'
        compile 'io.zipkin.java:zipkin-autoconfigure-ui'

    这里可以看到它不是属于spring中的

    在application.yml配置中:

    server:
      port: 9999
    spring:
      application:
        name: zipkin-server #注册到注册中心的名字,可以映射ip

    配置文件非常简单

    启动类:

    @EnableZipkinServer //表示Zipkin是服务器
    @SpringBootApplication
    public class ZipkinServerProdiver {
        public static void main(String[] args) {
            SpringApplication.run(ZipkinServerProdiver.class,args);
        }
    }

    接着在对于zipkin服务器的客户端build.gradle中加上依赖:

     //表示zipkin的客户端
        compile group: 'org.springframework.cloud', name: 'spring-cloud-sleuth-zipkin'

    这里用到那几个zipkin的客户端就在里面加入依赖

    当然在客户端配置文件application.yml中,也要加入zipkin的配置:

    spring:
      zipkin:
        base-url: http://localhost:9999 #代表字zipkin服务器地址
      sleuth:
        sampler:
          percentage: 1.0 #0.1-1.0 也就是代表链路跟踪的数据上传的概率有多大

    启动zipkin服务器:http://localhost:9999

    看到这样就证明启动成功啦

    下面启动项目,执行微服务之间的调用,并刷新zipkin服务器:

    这里可以看到我执行了4次,出现了4个链路,我是根据时间来查找的,也可以根据控制台或日志中的链路编码来查找:

    我在控制台随便拿一个进行查找:

    可以看到查找到了

    zipkin也有链路分析:

    它也可以时间和链路编码来查找,这样我们想查找哪一时间段的或精准到哪一条就非常方便了

    如果看不懂的小伙伴请参考我前面的博客进行浏览,或许就茅塞顿开啦!

  • 相关阅读:
    开源框架---通过Bazel编译使用tensorflow c++ API 记录
    图像处理---视频<->图片
    C++ ---释放内存(new和delete)
    目标检测---搬砖一个ALPR自动车牌识别的环境
    ubuntu系统---ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14
    Ubuntu系统---中英文问题小记
    Ubuntu系统---nvidia驱动下载之问题
    Ubuntu系统---又显示nvidia-smi 未找到命令
    Ubuntu系统---安装English版本之后的一些工作
    Ubuntu系统---安装“搜狗拼音法”导致桌面打不开
  • 原文地址:https://www.cnblogs.com/itgaofei/p/9353054.html
Copyright © 2020-2023  润新知