在之前的go-zero教程里,我们介绍了使用演示工程开发user模块和search模块,为了更直观的呈现请求的生命周期,我们引入:链路追踪,这里我们使用的链路追踪工具是jaeger,
开发环境
Windows 11
terminal preview
go 1.19
第一步:为go-zero的演示工程模块添加jaeger配置参数
go-zero的演示工程有2个模块,分别是:user和search,要为这2个模块配置jaeger,需要进行如下操作:
1. 编辑 service/user/api/etc/user-api.yaml,添加jaeger配置参数:
#链路追踪 http://localhost:16686/search
Telemetry:
Name: user.api
Endpoint: http://localhost:14268/api/traces
Sampler: 1.0
Batcher: jaeger
2.编辑 service/search/api/etc/search-api.yaml,添加jaeger配置参数:
#链路追踪 http://localhost:16686/search
Telemetry:
Name: search.api
Endpoint: http://localhost:14268/api/traces
Sampler: 1.0
Batcher: jaeger
第二步:为Windows环境配置jaeger
从jaeger的官网或https://rocdu.gitbook.io/jaeger-doc-zh/getting-started下载二进制的jaeger的可执行文件,下载完解压到本地文件夹,如:d:/soft/jaeger-1.42.0-windows-amd64
第三步:启动jaeger
打开terminal preview,切换到d:/soft/jaeger-1.42.0-windows-amd64文件夹下,执行下面的命令启动jaeger:
jaeger-all-in-one.exe
在浏览器访问 http://localhost:16686/search
第四步:使用jaeger查看请求链路
使用terminal preview,打开cmd命令提示符,执行下面的命令:
curl -i -X GET http://127.0.0.1:8889/search/ping
请求search模块的search/ping接口,刷新 http://localhost:16686/search,把左侧的service下拉列表选择search.api服务,然后点Find Traces,在右边可以看到刚才发起的请求,点开就可以看到请求链路的详细信息了。