zoukankan      html  css  js  c++  java
  • Springboot+Dubbo使用Zipkin进行接口调用链路追踪

    Zipkin介绍:

    Zipkin是一个分布式链路跟踪系统,可以采集时序数据来协助定位延迟等相关问题。数据可以存储在cassandra,MySQL,ES,mem中。分布式链路跟踪是个老话题,国内也有类似的框架,比如阿里的skywalking。 zipkin目前和SpringCloud生态结合紧密,有相关的支持。
     
    zipkinServer下载链接:

    链接:https://pan.baidu.com/s/1tbydFqM_WaMH7qe1Ktvw5Q
    提取码:8o7n

    下载之后,使用java -jar zipkin-server-2.12.9-exec.jar   命令启动了,启动完后后浏览器访问 http://localhost:9411 就可以了。

    项目使用了Spingboot + Dubbo的框架结构,在集群部署时发现C端请求接口响应缓慢!于是引入了Zipkin来追踪一下服务接口的调用耗时
    配置如下:
     
    1、pom添加Zipkin所需依赖:
    <!--zikpin-->
    <dependency>
       <groupId>io.zipkin.brave</groupId>
       <artifactId>brave-instrumentation-dubbo-rpc</artifactId>
       <version>5.4.1</version>
    </dependency>
    <dependency>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-zipkin</artifactId>
       <version>2.0.0.RELEASE</version>
    </dependency>

    2、为spring加入zipkin配置:

    spring:
      ... 省略其他配置 ...
      zipkin:
        enabled: true
        base-url: http://localhost:9411
        messageTimeout: 5
        sender:
          #向http发送trace信息
          type: web
      sleuth:
        sampler:
          percentage: 1

    3、为dubbo服务提供者和消费者注入 tracing 过滤器:

    dubbo:
     ... 省略部分配置 ... consumer: timeout: 15000 check: false retries: 0 filter: 'tracing' provider: retries: 0 filter: 'tracing'

    4、声明指定tracing过滤器使用类

     ①、在项目resources目录下新建目录 META-INFO.dubbo

     ②、在上面目录里面创建名为 org.apache.dubbo.rpc.Filter 的文本文件

     ③、在上面文本文件里面下入以下配置  

    tracing=brave.dubbo.rpc.TracingFilter

    完成之后,访问Zipkin就可以看到具体的链路追踪了!

     希望能帮助到你~

  • 相关阅读:
    js-禁止微信H5页面点击右上角菜单时出现“复制链接”,且分享仅支持微信分享
    js-获取用户移动端网络类型:wifi、4g、3g、2g...
    小程序-云开发部署流程(步骤二)
    小程序-(报错)请使用 2.2.3 或以上的基础库以使用云能力(步骤一)
    解决iOS10的Safari下Meta设置user-scalable=no无效的方法
    领域驱动, 事件驱动,测试驱动
    spring web项目中整合netty, akka
    why rpc
    nginx配置https证书
    org.apache.http.NoHttpResponseException
  • 原文地址:https://www.cnblogs.com/whzbz894/p/12660364.html
Copyright © 2011-2022 走看看