1、学习课程

带你十天轻松搞定 Go 微服务系列(九)- 服务监控

今天是学习 go 微服务的第九天,今天是学习链路追踪

2、go-zero 使用 Jaeger 链路追踪

2.1 添加 user api 服务 Telemetry 配置

$ vim mall/service/user/api/etc/user.yaml
Name: User
Host: 0.0.0.0
Port: 8000

...

Telemetry:
  Name: user.api
  Endpoint: http://jaeger:14268/api/traces
  Sampler: 1.0
  Batcher: jaeger

2.2 添加 user rpc 服务 Telemetry 配置

$ vim mall/service/user/rpc/etc/user.yaml
Name: user.rpc
ListenOn: 0.0.0.0:9000

...

Telemetry:
  Name: user.rpc
  Endpoint: http://jaeger:14268/api/traces
  Sampler: 1.0
  Batcher: jaeger

2.3 添加 product api 服务 Telemetry 配置

$ vim mall/service/product/api/etc/product.yaml
Name: Product
Host: 0.0.0.0
Port: 8001

...

Telemetry:
  Name: product.api
  Endpoint: http://jaeger:14268/api/traces
  Sampler: 1.0
  Batcher: jaeger

2.4 添加 product rpc 服务 Telemetry 配置

$ vim mall/service/product/rpc/etc/product.yaml
Name: product.rpc
ListenOn: 0.0.0.0:9001

...

Telemetry:
  Name: product.rpc
  Endpoint: http://jaeger:14268/api/traces
  Sampler: 1.0
  Batcher: jaeger

2.5 添加 order api 服务 Telemetry 配置

$ vim mall/service/order/api/etc/order.yaml
Name: Order
Host: 0.0.0.0
Port: 8002

...

Telemetry:
  Name: order.api
  Endpoint: http://jaeger:14268/api/traces
  Sampler: 1.0
  Batcher: jaeger

2.6 添加 order rpc 服务 Telemetry 配置

$ vim mall/service/order/rpc/etc/order.yaml
Name: order.rpc
ListenOn: 0.0.0.0:9002

...

Telemetry:
  Name: order.rpc
  Endpoint: http://jaeger:14268/api/traces
  Sampler: 1.0
  Batcher: jaeger

2.7 添加 pay api 服务 Telemetry 配置

$ vim mall/service/pay/api/etc/pay.yaml
Name: Pay
Host: 0.0.0.0
Port: 8003

...

Telemetry:
  Name: pay.api
  Endpoint: http://jaeger:14268/api/traces
  Sampler: 1.0
  Batcher: jaeger

2.8 添加 pay rpc 服务 Telemetry 配置

$ vim mall/service/pay/rpc/etc/pay.yaml
Name: pay.rpc
ListenOn: 0.0.0.0:9003

...

Telemetry:
  Name: pay.rpc
  Endpoint: http://jaeger:14268/api/traces
  Sampler: 1.0
  Batcher: jaeger

提示:配置修改后,需要重启服务才会生效。

systemctl restart docker

3、使用 Jaeger UI 查看链路

访问 /api/user/userlogin api接口

在这里插入图片描述

第一章 环境搭建 中我们集成了 Jaeger 服务,并为其 Jaeger UI 端口号16686 做了宿主机端口 5000 的映射关系,所以在浏览器中输入 http://你的IP:5000/ 访问 Jaeger UI 界面。选择 Search 菜单,在 Service 下拉框中选择 user.api,最后点击 Find Traces 按钮,可以查询到刚刚访问的 /api/user/userlogin 接口的链路追踪数据。

在这里插入图片描述

点击进去,就可以看到这个 /api/user/userlogin 接口的链路时序图,以及服务依赖关系,和耗时情况。

在这里插入图片描述

右上角的下拉菜单可以选择不同的数据展示样式。

在这里插入图片描述

其他接口链路追踪效果图

在这里插入图片描述

4、系列

学习笔记:带你十天轻松搞定 Go 微服务系列(一)- 环境搭建
学习笔记:带你十天轻松搞定 Go 微服务系列(二)- 服务拆分
学习笔记:带你十天轻松搞定 Go 微服务系列(三)- 用户服务
学习笔记:带你十天轻松搞定 Go 微服务系列(四)- 产品服务
学习笔记:带你十天轻松搞定 Go 微服务系列(五)- 订单服务
学习笔记:带你十天轻松搞定 Go 微服务系列(六)- 支付服务
学习笔记:带你十天轻松搞定 Go 微服务系列(七)- RPC 服务 Auth 验证
学习笔记:带你十天轻松搞定 Go 微服务系列(八)- 服务监控
学习笔记:带你十天轻松搞定 Go 微服务系列(九)- 链路追踪
学习笔记:带你十天轻松搞定 Go 微服务系列大结局(十)- 分布式事务


土豆
17 声望5 粉丝