dubbo 整合 zipkin,最简单的方式,亲测有效

大家好,我是烤鸭。

    之前也试过网上很多版本,看了好多文章。现在分享最简单的方式,代码侵入性最小的。

1. 修改pom,引入jar。

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.0.9.RELEASE</version>
</dependency>
<!--zikpin-->
<!-- https://mvnrepository.com/artifact/io.zipkin.brave/brave-instrumentation-dubbo-rpc -->
<dependency>
    <groupId>io.zipkin.brave</groupId>
    <artifactId>brave-instrumentation-dubbo-rpc</artifactId>
    <version>5.6.8</version>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<!--zikpin end -->

 

2. 下载 zipkin.jar 并启动

wget -O zipkin.jar 'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec'
nohup java -jar zipkin-server-2.12.9-exec.jar

启动成功后访问如图:

 

3. 修改 yml 配置文件

 增加 zipkin相关配置,provider 和 consumer 都需要添加

spring:
  servlet:
    multipart:
      max-file-size: 20MB
      max-request-size: 20MB
      enabled: true
  zipkin:
    enabled: true
    base-url: http://xx.xx.xx.69:9411  #zipkin地址
    sender:
      type: web #向http发送trace信息

 provider:

       增加 provider.filter: 'tracing'

dubbo:
  application:
    id: etc_manage_service
    name: etc_manage_service
  protocol:
    port: 20883
    threadpool: cached
    threads: 500
    accepts: 1000
    dispatcher: message
  provider:
    timeout: 600000
    filter: 'tracing'
  registry:
    address: zookeeper://127.0.0.1:2181
  scan:
    basePackages: xxx.xxx

consumer:

       增加 consumer.filter: 'tracing'

dubbo:
  application:
    id: etc_manage_web
    name: etc_manage_web
  registry:
    address: zookeeper://127.0.0.1:2181
  scan:
    base-packages: xxx.xxx
  consumer:
    filter: 'tracing'

4. 启动服务后,调用如图:

    

总结:


最开始的时候,也有时候会有调用服务,但是zipkin 没有收到请求的情况,发现是 zipkin 没有生效,可能是引入的zipkin的包太多了,删除不用的。
 还有zipkin的配置
 zipkin.base-url:xx
 这个地方是 base-url,不是baseUrl。
 还有就是 consumer 有记录,但是 provider没有。
 配置了 provider.filter 之后,又重启了服务,之后试了几次,就可以了。

发布了115 篇原创文章 · 获赞 58 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/Angry_Mills/article/details/95611637