persist 持久化插件
1 nginx 【init worker phase】
nginx 初始化worker階段,初始化此插件
在orange.conf配置文件的plugins節增加 persist插件
# orange reload
在dashboard上就可以看到這個插件了,可以直接通過頁面啟動,或者在meta表中增加一條enable為1 的記錄。
1.1 配置插件優先級1999
PropertyRateLimitingHandler.PRIORITY = 1999
注意:priority值越大優先級越高,針對相同phase階段內的插件生效。
2 此插件的處理邏輯此persist插件是配合stat插件使用,stat全局統計插件處在 log phase階段,在 nginx.conf 配置文件http節:
lua_shared_dict status 1m; # used for global statistic, see plugin: stat
本地記錄每個請求的應答狀態status
persist插件沒60秒讀取一次status記錄,寫入到mysql數據庫,可以自行改造存儲redis等。
可以參考此插件邏輯,來記錄應用訪問次數,用於統計PV,UV。
![orange(4)插件功能分析(persist)](http://p2.ttnews.xyz/loading.gif)
歡迎 “關注” ,結合實際應用,持續更新orange網關係列。
閱讀更多 架構演進 的文章