使用zipkin+elasticsearech+brave对dubbo服务进行链路跟踪

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/han1196639488/article/details/85338935

(一)我们先说下能为我们做什么?
1.zipkin为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪;
在这里插入图片描述

2.zipkin系统让开发者可通过一个Web前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。
在这里插入图片描述

2.1服务之间的调用关系图可以通过依赖进入查看:

在这里插入图片描述

3.zipkin通过采集跟踪数据可以帮助开发者深入了解在分布式系统中某一个特定的请求时如何执行的。提供了调用的方法名,参数以及响应结果。
在这里插入图片描述

在这里插入图片描述

4.如果再服务调用阶段发生了异常信息,也会把调用的异常信息展示出来:

在这里插入图片描述

(二)Zipkin提供了可插拔数据存储方式:In-Memory,MySql, Cassandra, Elasticsearch;
我选用了最简单支持的elasticsearch进行存储zipkin接收的数据,分为两个部分,一个是span的数据,另外一个是dubbo依赖图的映射数据:
在这里插入图片描述

在这里插入图片描述

下面开始说明如何集成这个工具:

先在dubbo所在的项目pom上依赖:

        <dependency>
            <groupId>io.zipkin.brave</groupId>
            <artifactId>brave-dubbo</artifactId>
            <version>1.0.2-SNAPSHOT</version>
        </dependency>

在spring配置文件内加入:

<bean id="brave" class="com.ncarzone.zipkin.brave.dubbo.BraveFactoryBean" p:serviceName="demo-consumer" p:zipkinHost="http://192.168.14.87:9411/" p:rate="1.0" />

其中service是dubbo项目的名称,zipkinhost是zipkin服务地址,rate设置采样比率。

只需要在项目中执行上面两个步骤即可集成上述功能。

猜你喜欢

转载自blog.csdn.net/han1196639488/article/details/85338935