1.为什么要接入swoole enterprise
针对线上机器的监控、接口的调用情况、线上接口异常告警、线上耗时分析、线上调试等等,这应该是每个线上项目,都必须直面且要认真思考的问题。
本来想自己写的,但考虑到时间成本和系统复杂程度,一直在犹豫。这时正好看到swoole enterprise,发现swoole enterprise是一个非常好的解决方案。
呵呵··· 是不是有人以为我是这个项目的托?!其实我用的是 试用版 永久免费版(给力哦!!!),非付费用户。
给大家上几张图,目前线上已经稳定运行。
不截图了,打马赛克太麻烦了~~
2.那如何接入呢?
- 这边必须说个小插曲哈:之前我在服务器安装swoole_plus.so拓展,怎么都不成功。最后通过联系swoole官网客服,并通过远程才解决。发现是自己的php版本错了(源码安装的都可以留意下),好尴尬~ 这里必须给客服点赞哈~~上图
补充说下:我是服务器直接安装,没有使用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问题。第二点,可以查看整个应用的调用链并能分析性能。第三点,可以直接分析线上接口性能。还有。。。 这是一个宝藏后台,可挖掘的还有很多哦~~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。