对OpenTelemetry
的概念有初步了解后,我们接着以Jaeger
为例来演示如何在程序中使用实现链路追踪。
Jaeger
Jaeger是Uber开源的分布式追踪系统,是支持OpenTelemetry
的系统之一,也是CNCF
项目。本篇将使用Jaeger
来演示如何在系统中引入分布式追踪。以下是Opentracing+Jaeger
的架构图,针对于使用OpenTelemetry
也是如此。
准备工作
Jaeger
提供了all-in-one
镜像,方便我们快速开始测试:
docker run -d --name jaeger
-e COLLECTOR_ZIPKIN_HTTP_PORT=9411
-p 5775:5775/udp
-p 6831:6831/udp
-p 6832:6832/udp
-p 5778:5778
-p 16686:16686
-p 14268:14268
-p 9411:9411
jaegertracing/all-in-one:1.14
镜像启动后,通过 http://localhost:16686 可以打开Jaeger UI
。
示例代码地址
我们的示例代码在gf
主库中,地址:https://github.com/gogf/gf/tree/master/example/trace
Jaeger注册封装
为方便开发者使用,我们通过社区模块的形式,已经封装好了对jaeger
的初始化逻辑,代码地址:https://github.com/gogf/gf/tree/master/contrib/trace/jaeger
作者:唐伯虎点蚊香,如若转载,请注明出处:https://www.web176.com/goframe/21043.html