限时 5折! 详情

hyperf 实战之链路追踪

1388 0 0

前面我们实现了提问题、问题详情、热门榜单、问题搜索、问题列表等一系列接口,假设榜单的数据异常了,但是详情接口返回正常,现在我们不能直接看出具体问题,这个时候我们怎么快速定位问题?看日志,打断点是我们日常中常用的解决方法,今天要给大家介绍的是链路追踪,链路追踪常用于微服务中,hyperf 官方提供了一款非常好用的分布式调用链追踪组件—— hyperf/tracer。tracer 组件可以在分布式系统中追踪一个请求的处理过程,包括对 Guzzle HTTP 调用、Redis 调用、DB 调用进行了监听或 AOP 切面处理,以实现对调用链的传播与追踪,通过可视化界面非常方便监控整个链路。

我们今天讲解的内容主要有3点,包括

  1. Zipkin
  2. 阿里云链路追踪
  3. Trace 服务

首先用 docker 安装 Zipkin 并直接启动它。

docker pull openzipkin/zipkin
docker run --name zipkin -d -p 9411:9411 openzipkin/zipkin

浏览器访问 http://127.0.0.1:9411/ 可以看到 zipkin 的管理后台。

安装 tracer 组件

composer require hyperf/tracer

新增配置文件

php bin/hyperf.php vendor:publish hyperf/tracer

默认情况下这些追踪不会打开,我们需要通过更改 config/autoload/opentracing.php 配置文件内的 enable 项内的开关来打开对某些远程调用的追踪。

.env 新增配置

TRACER_DRIVER=zipkin

去购买

还有90%的精彩内容,购买继续阅读