Spring Cloud Sleuth整合dubbo

Spring Cloud Sleuth整合dubbo

Spring Cloud Sleuth为Spring Cloud实现了一个分布式跟踪解决方案,大量借鉴了Dapper、Zipkin和HTrace。您可以简单地在日志中捕获数据,或者将数据发送到远程收集器服务。

其中zipkin服务负责收集数据,并展示链路跟踪图,brave负责采集数据上传数据到zipkin服务器。

Sleuth在2.0已经对dubbo做了支持,详见:brave-instrumentation-dubbo-rpc。其中dubbo版本为2.6.x,2.7.x暂不支持,详见:issue

接入Spring Cloud Sleuth步骤如下:

  • 下载zipkin服务器

以mac环境为例,执行下面命令,下载jar并启动zipkin服务

curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar

默认端口是9411,更多安装方式详见:quickstart

  • 微服务程序添加pom依赖
<!--开启zipkin服务链路跟踪-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<!-- zipkin支持dubbo -->
<dependency>
    <groupId>io.zipkin.brave</groupId>
    <artifactId>brave-instrumentation-dubbo-rpc</artifactId>
    <version>5.6.6</version>
</dependency>

配置文件新增:

# zipkin服务跟踪
spring.zipkin.base-url=http://127.0.0.1:9411/
# 设置sleuth收集信息的比率,默认0.1,最大是1,数字越大越耗性能
spring.sleuth.sampler.probability=1
# dubbo使用zipkin过滤器
dubbo.provider.filter=tracing
dubbo.consumer.filter=tracing

运行完毕看控制台,找到日志信息

2019-07-18 16:22:04.438  INFO [story-service,59dae98250b276bd,60828035658f175f,true] 90553 --- [:12345-thread-2] c.g.s.s.service.DefaultDemoService       : dubbo provider, param: DemoParam(id=222)

日志内容多了[story-service,59dae98250b276bd,60828035658f175f,true]部分,这些是zipkin加进去的,说明如下:

story-service:服务名称
59dae98250b276bd:traceId
60828035658f175f:spanId
true:是否上传到zipkin服务器

查看各个服务的控制台,可以发现traceId是一致的。

将traceId复制黏贴到右上角文本框进行查询,可看到服务调用链。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值