前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Cloud 微服务(八):链路追踪

Spring Cloud 微服务(八):链路追踪

原创
作者头像
安宁
修改2020-07-24 10:05:30
5030
修改2020-07-24 10:05:30
举报

本文简单介绍如何在项目中集成链路追踪。

集成 日志收集集成 之后,再做链路追踪就比较简单。

1. 部署 Zipkin 服务

在项目中,添加 peacetrue-microservice-zipkin 模块,安装启动 Zipkin 服务:

代码语言:javascript
复制
$ cd peacetrue-microservice-zipkin
$ curl -sSL https://zipkin.io/quickstart.sh | bash -s
$ java -jar zipkin.jar

因为 zipkin.jar 比较大,没有放在项目中,使用时需要通过以上命令下载。

官网推荐方式是通过 jar 运行,不要内嵌到本地项目运行。不能享受 Spring 统一配置很遗憾。

打开 Zipkin 首页 http://localhost:9411 ,界面如下:

zipkin首页
zipkin首页

Figure 1. zipkin首页

2. 项目改造

只需要添加 org.springframework.cloud:spring-cloud-starter-zipkin 依赖。

3. 测试效果

访问外部客户端 GET /message 接口后,整个调用过程如下:

测试效果
测试效果

Figure 2. 测试效果

涉及到 3 个服务,4 次调用,总耗时约 668 毫秒。

4. 使用 Elasticsearch 存储数据

Zipkin 默认使用内存存储,不适合生产环境使用,改为 Elasticsearch。在 日志收集集成 中,已经安装好了 Elasticsearch,这里直接使用。

首先,指定使用 elasticsearch 存储:

代码语言:javascript
复制
$ STORAGE_TYPE=elasticsearch java -jar zipkin.jar

然后,配置 Elasticsearch 的相关参数 [1]:

代码语言:javascript
复制
#指定 Elasticsearch 的地址、用户名和密码
$ STORAGE_TYPE=elasticsearch ES_HOSTS=http://localhost:9200 ES_USERNAME=peacetrue ES_PASSWORD=password java -jar zipkin.jar

命令行指定参数太辛苦,怀念 Spring 的 YML 配置。


1. 详细参数看这里 https://github.com/openzipkin/zipkin/tree/master/zipkin-server#elasticsearch-storage

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 部署 Zipkin 服务
  • 2. 项目改造
  • 3. 测试效果
  • 4. 使用 Elasticsearch 存储数据
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档