SpringCloud+Zipkin微服务链路跟踪(整合Mysql实现持久化)

1. 下载zipkin-serve

由于SpringBoot1.x版本与SpringBoot2.x版本在整合SpringCloud的时候有很大的区别,所以整合Zipkin也不列外,SpringBoot1.x需要单独搭建zipkin-server端, Spring Boot 2.0 版本之后,官方已不推荐自己搭建定制了,而是直接提供了编译好的 jar 包,不需要手动搭,直接在官网下载一个zipkin-server的jar包即可

jar包下载网址:https://zipkin.io/pages/quickstart.html找到Java点击下载即可

下载下来是这样的一个jar包:

启动方式:java -jar zipkin-server-2.11.8-exec.jar

默认端口号为9411,不建议修改,启动成功后浏览器访问localhost:9411即可看到如下页面:

2. 配置SpringCloud项目(这里以订单调用会员服务为例)

  分别在order和member项目中引入以下依赖:

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

  分别在order和member的application.yml文件中配置zipkin的信息:

spring:
  application:
    name: xxxx
  zipkin: 
    base-url: http://localhost:9411/
  ###全部采集  
  sleuth:
    sampler:
      probability: 1.0

首先确保已经启动zikkin-server

依次分别启动eureka,member,order,并访问order项目中的一个接口(该接口用restTemplate方式调用了member服务的接口)

可以看到,zikkin的UI界面出现以下信息,则证明跟踪成功(详细参数可以百度查阅相关资料,这里只讲解如何搭环境)

3. 接入Mysql实现持久化

Zipkin默认把收集的跟踪信息存放在内存中,这样不但性能极差,而且在重启zipkin-server之后,之前记录的跟踪信息会被清空,所以需要引入持久化方案进行优化,官方推荐可以整合Mysql或Elasticsearch,这里只讲解Mysql

  ① 新建数据库zipkin,并建立三个表,如下:

  ② 字段分别为:

zipkin_annotations

zipkin_dependencies

zipkin_spans

③ 修改启动方式:

java -jar zipkin-server-2.11.8-exec.jar --STORAGE_TYPE=mysql --MYSQL_DB=zipkin --MYSQL_USER=root --MYSQL_PASS=123456 --MYSQL_HOST=localhost --MYSQL_TCP_PORT=3306

分别启动eureka,member,order服务,访问order接口,会发现同样会展示如下信息:

此时,关掉zipkin-server,并重新启动;会发现,上面的信息还会有,并没有被清除

至此,SpringCLoud+Zipkin整合Mysql实现持久化环境搭建完毕!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值