1. 为什么要接入 swoole enterprise
针对线上机器的监控、接口的调用情况、线上调试等等,这应该是每个项目,都面临的必须要解决的问题。
swoole enterprise 是一个非常好的解决方案。呵呵··· 是不是有人以为我是这个项目的托?!其实我用的是试用版,非付费用户。
给大家上几张图,目前线上已经运行。
不截图了,打马赛克太麻烦了~~
2. 如何接入呢?
- 这边必须说个小插曲哈:之前我在服务器安装 swoole_plus.so 拓展,怎么都不成功。最后通过联系 swoole 官网客服,并通过远程才解决。必须给客服点赞哈~~ 上图
补充说下:我是服务器直接安装,没有使用 docker 环境。你可以先看下官网安装教程点击查看
a. 服务器基础部署:php(nts 版,不支持 zts)【不知道到 nts 与 zts 的区别?这个不重要。知道如何安装即可。】、swoole4.4 以上
b. 进入 swoole enterprise 申请试用,下载客户端包到服务器。
c. 解压安装包后,运行 deploy_env.sh,会安装基础组件和复制 sdk 至 /opt/swoole 下。
d. 复制对应 php 版本的 swoole_plus7*.so 至 php 的 extensions 文件下。不知道这个目录在哪里?没关系,看下面指令:
php -i|grep extension
e. 配置 php.ini
extension=swoole_plus.so
apm.enable=1 #打开总开关
apm.sampling_rate=100 #采样率 例如:100%
# 手动埋点时再添加
apm.enable_memcheck=1 #开启内存泄漏检测 默认 0 关闭
f. 回到自己的 hyperf 程序,安装 hyperf/swoole-enterprise 拓展,并添加全局中间件 HttpServerMiddleware
i. 最后重启服务,即可通过后台查看相关数据了。
ps. 我感觉这个后台有几点确实很有用,可以看到每个接口的调用成功情况和时长。我就通过这个后台,发现一个 redis 的 auth 问题。第二点,可以查看整个应用的调用链并能分析性能。第三点,可以直接分析线上接口时长较长接口的性能。还有。。。这是一个宝藏后台,可挖掘的还有很多哦~~