栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Dubbo集成Sleuth+zipkin服务链路追踪

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Dubbo集成Sleuth+zipkin服务链路追踪

Dubbo集成Sleuth+zipkin服务链路追踪
  • 版本介绍:
  • 前提条件:
  • 操作步骤:
    • 一:引入sleuth和zipkin依赖
    • 二:引入拦截器依赖
    • 三:在配置文件中指定拦截器,使上一步依赖生效
    • 四:运行zipkin服务
    • 五:在项目配置中指定zipkin服务地址
    • 六:通过zipkin可视化界面查看调用链路和耗时
  • 参考资料:

版本介绍:

Dubbo:2.7.x
sleuth:3.0.4
zipkin:3.0.4

前提条件:

建好两个集成了dubbo的springboot服务:一个生产者服务,一个消费者服务。前端能够调用消费者接口,消费者接口调用生产者服务。

操作步骤: 一:引入sleuth和zipkin依赖

两个服务分别引入sleuth和zipkin的maven依赖

        
            org.springframework.cloud
            spring-cloud-starter-sleuth
            3.0.4
        

        
            org.springframework.cloud
            spring-cloud-sleuth-zipkin
            3.0.4
        
二:引入拦截器依赖

如果是springcloud项目,并且已经引入OpenFeign,那么引入sleuth和zipkin依赖即可成功。
如果是dubbo项目,需要再额外引入brave-instrumentation-dubbo依赖(这个依赖就是dubbo拦截器,在服务间通过dubbo上下文传递tranceId)
注意:
Dubbo 2.7.x引入的是brave-instrumentation-dubbo
Dubbo 2.6.x引入的是brave-instrumentation-dubbo-rpc
因为Dubbo 2.7.x和brave-instrumentation-dubbo是apache的项目,而dubbo 2.6.x和brave-instrumentation-dubbo-rpc是Alibaba的项目

        
            io.zipkin.brave
            brave-instrumentation-dubbo
            5.13.3
        
三:在配置文件中指定拦截器,使上一步依赖生效

引入依赖之后要在配置文件(application.properties或dubbo.properties)中加入以下配置,这个配置是指定dubbo拦截器为上一步引入的拦截器。

dubbo.provider.filter=tracing
dubbo.consumer.filter=tracing

然后在多个服务的调用链路中打印日志就可以看到相同的tranceId

四:运行zipkin服务

从zipkin官网下载相关jar包,并且在本地运行即可

可通过运行成功之后输出的地址访问,这里是默认的地址 127.0.0.1:9411/zipkin

五:在项目配置中指定zipkin服务地址
spring:
  zipkin:
    base-url: http://127.0.0.1:9411
六:通过zipkin可视化界面查看调用链路和耗时

配置之后重启服务,再进行服务调用时,即可通过zipkin可视化界面查看调用链路

参考资料:

sleuth3.0.4官方文档:https://spring.io/projects/spring-cloud-sleuth
sleuth3.0.4对dubbo的支持:https://docs.spring.io/spring-cloud-sleuth/docs/current/reference/html/integrations.html#sleuth-rpc-dubbo-integration
zipkin官方文档:https://zipkin.io/pages/quickstart.html
spring cloud alibaba dubbo 链路跟踪报错问题解决 java.lang.NoSuchMethodError: 'void com.alibaba.dubbo.rpc.pr…:https://www.jianshu.com/p/5cf443081430
dubbo自定义拦截器:https://blog.csdn.net/Mkhaixian2014/article/details/106584195/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/328807.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号