orange(4)插件功能分析(persist)

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)


歡迎 “關注” ,結合實際應用,持續更新orange網關係列。


分享到:


相關文章: