1.前言
在上一篇spring-cloud-sleuth+zipkin追踪服务实现(二)中我们讲述了利用mq的方式发送数据,存储在mysql,实际生产过程中调用数据量非常的大,mysql存储并不是很好的选择,这时我们可以采用elasticsearch进行存储。我们还是使用之前上一节中的三个程序做修改,方便大家看到对比不同点。这里每个项目名都加了一个es,用来表示区别。
2.使用前提
这里选用elasticsearch 2.x版本。安装elasticsearch的方法详见本人的文章elk搭建实战中elasticsearch部分。
3、microservice-zipkin-stream-server-es
要使用elasticsearch的话,必须在pom.xml中声明相关的依赖。同时不使用mysql,那么去掉mysql相关的依赖。
全部maven依赖如下:
由于使用了消息中间件rabbit mq以及elasticsearch,所以我们还需要在配置文件application.properties加入相关的配置:
为了避免http通信的干扰,我们将原来的监听端口有11020更改为11030,启动程序,未报错且能够看到rabbit连接日志,说明程序启动成功。
4.microservice-zipkin-stream-client-es、microservice-zipkin-client-stream-backend-es
与上一节中的代码保持一致,当然为了以示区别,端口也做了相应的调整
5.测试
按照上一节的方式访问:http://localhost:11021/call/1,我们可以server的ui上有相关的数据,同时打开es的管理页面:http://localhost:9200/_plugin/head/,点击数据浏览,就可以看到以zipkin开头,以日期结尾的index,说明数据成功的写到es了。
6.项目源码:
https://git.oschina.net/shunyang/spring-cloud-microservice-study.githttps://github.com/shunyang/spring-cloud-microservice-study.git
6.参考文档:
spring cloud 官方文档:https://github.com/spring-cloud/spring-cloud-sleuth
领取专属 10元无门槛券
私享最新 技术干货