1.為什么要接入swoole enterprise
針對線上機器的監控、接口的調用情況、線上調試等等,這應該是每個項目,都面臨的必須要解決的問題。
swoole enterprise是一個非常好的解決方案。呵呵··· 是不是有人以為我是這個項目的托?!其實我用的是試用版,非付費用戶。
給大家上幾張圖,目前線上已經運行。
image.png
image.png
不截圖了,打馬賽克太麻煩了~~
2.如何接入呢?
-
這邊必須說個小插曲哈:之前我在服務器安裝swoole_plus.so拓展,怎么都不成功。最后通過聯系swoole官網客服,并通過遠程才解決。必須給客服點贊哈~~上圖
image.png
補充說下:我是服務器直接安裝,沒有使用docker環境。你可以先看下官網安裝教程點擊查看
a.服務器基礎部署:php(nts版,不支持zts)【不知道到nts與zts的區別?這個不重要。知道如何安裝即可。】、swoole4.4以上
b.進入swoole enterprise申請試用,下載客戶端包到服務器。
image.png
image.png
c.解壓安裝包后,運行deploy_env.sh,會安裝基礎組件和復制sdk至/opt/swoole下。
image.png
d.復制對應php版本的swoole_plus7*.so至php的extensions文件下。不知道這個目錄在哪里?沒關系,看下面指令:
php -i|grep extension
image.png
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問題。第二點,可以查看整個應用的調用鏈并能分析性能。第三點,可以直接分析線上接口時長較長接口的性能。還有。。。 這是一個寶藏后臺,可挖掘的還有很多哦~~
image.png
image.png