如何实现go-micro服务集成链路跟踪及其中间件工作原理?
- 内容介绍
- 文章标签
- 相关推荐
本文共计593个文字,预计阅读时间需要3分钟。
最近几天有个同学想了解如何在go-micro中实现链路跟踪。这几天正好看到了wrapper这个模块,这个模块在一些框架中也被称为中间件。其中有一个opentracing的插件,非常适合用来做链路跟踪。
前几天有个同学想了解下如何在go-micro中做链路跟踪,这几天正好看到wrapper这块,wrapper这个东西在某些框架中也称为中间件,里边有个opentracing的插件,正好用来做链路追踪。opentracing是个规范,还需要搭配一个具体的实现,比如zipkin、jeager等,这里选择zipkin。
链路跟踪实战 安装zipkin通过docker快速启动一个zipkin服务端:
docker run -d -p 9411:9411 openzipkin/zipkin
程序结构
为了方便演示,这里把客户端和服务端放到了一个项目中,程序的目录结构是这样的:
- main.go 服务端程序。
- client/main.go 客户端程序。
- config/config.go 程序用到的一些配置,比如服务的名称和监听端口、zipkin的访问地址等。
- zipkin/ot-zipkin.go opentracing和zipkin相关的函数。
本文共计593个文字,预计阅读时间需要3分钟。
最近几天有个同学想了解如何在go-micro中实现链路跟踪。这几天正好看到了wrapper这个模块,这个模块在一些框架中也被称为中间件。其中有一个opentracing的插件,非常适合用来做链路跟踪。
前几天有个同学想了解下如何在go-micro中做链路跟踪,这几天正好看到wrapper这块,wrapper这个东西在某些框架中也称为中间件,里边有个opentracing的插件,正好用来做链路追踪。opentracing是个规范,还需要搭配一个具体的实现,比如zipkin、jeager等,这里选择zipkin。
链路跟踪实战 安装zipkin通过docker快速启动一个zipkin服务端:
docker run -d -p 9411:9411 openzipkin/zipkin
程序结构
为了方便演示,这里把客户端和服务端放到了一个项目中,程序的目录结构是这样的:
- main.go 服务端程序。
- client/main.go 客户端程序。
- config/config.go 程序用到的一些配置,比如服务的名称和监听端口、zipkin的访问地址等。
- zipkin/ot-zipkin.go opentracing和zipkin相关的函数。

