php项目如何加入跟踪链,调用链追踪 · MixPHP V2.2 开发指南 · 看云

## 调用链追踪

一个完整的微服务系统包含多个微服务单元,各个微服务子系统存在互相调用的情况,形成一个 **调用链**。一个客户端请求从发出到被响应 **经历了哪些组件**、**哪些微服务**、**请求总时长**、**每个组件所花时长** 等信息我们有必要了解和收集,以帮助我们定位性能瓶颈、进行性能调优,因此监控整个微服务架构的调用链十分有必要,本文将阐述如何使用 **Zipkin** 搭建微服务调用链追踪中心。

## Mix Tracing Zipkin

>[info] 需先安装 Zipkin V2

该组件基于 OpenTracing 规范设计。

使用 [composer](https://www.phpcomposer.com/) 安装:

```

composer require mix/tracing-zipkin

```

## 依赖注入配置

- [manifest/beans/zipkin.php](https://github.com/mix-php/mix-micro-skeleton/blob/master/manifest/beans/zipkin.php)

## Mix Tracing

调用链的追踪是通过中间件的形式在 Server、Client 中传播,Mix Tracing 提供了 HttpServer、gRPC、JSON-RPC 的相关中间件,只需将这些中间件配置到对应的位置即可追踪。

使用 [composer](https://www.phpcomposer.com/) 安装:

```

composer require mix/tracing

```

- Http Route 配置 Tracing 中间件:[manifest/beans/route.php#L20](https://github.com/mix-php/mix-micro-skeleton/blob/master/manifest/beans/route.php#L20)

- gRPC Client 配置 Tracing 中间件:[SayController.php#L56](https://github.com/mix-php/mix-micro-skeleton/blob/master/app/Api/Controllers/Greeter/SayController.php#L56)

- gRPC Server 配置 Tracing 中间件:[manifest/beans/grpc.php#L25](https://github.com/mix-php/mix-micro-skeleton/blob/master/manifest/beans/grpc.php#L25)

追踪成功的请求会在响应 Header 中包含 X-B3-Traceid 头,可通过改 ID 在 zipkin 管理端中快速查看追踪信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值