前言:
繼上篇:Taurus .Net Core 微服務開源框架:Admin 插件【4-7】 - 配置管理-Mvc【Plugin-Metric 接口調用次數統(tǒng)計】
本篇繼續(xù)介紹下一個內容:
1、系統(tǒng)配置節(jié)點:Mvc -?Plugin - Limit 接口訪問限制、IP限制、Ack限制:
配置界面如下:
限制目前提供以下三個類別的限制:
1、Rate 訪問頻率限制 2、IP IP黑名單限制 3、Ack 請求頭驗證
1、Limit.IsIgnoreLAN:是否忽略對內網IP的限制
對三種類別限制都有效。
2、Limit.IsIgnoreAdmin:是否忽略對后臺管理【插件】界面的限制
對三種類別限制都有效。
3、Limit.IsIgnoreDoc:是否忽略對自動化接口測試及文檔管理【插件】界面的限制
對三種類別限制都有效。
4、Limit.IsIgnoreMicroService:是否忽略對微服務【插件】通訊的限制
對三種類別限制都有效。
5、Limit.IsUseXRealIP:是否先嘗試獲取請求頭的【X-Real-IP】為IP
先取 request.Headers["X-Real-IP"],為空再?。簉equest.UserHostAddress
以上為三者通用配置,下面看各自的配置項。
2、?Rate?配置【請求頻率限制】
配置界面如下:
?配置說明如下:
1、Limit.Rate.IsEnable:是否啟用訪問頻率限制功能
通過開關啟用即可,默認關閉。
2、Limit.Rate.MaxConcurrentConnections:應用最大并發(fā)鏈接數
為整個應用設置并發(fā)打開的最大 TCP 連接數,默認情況下,最大連接數不受限制。
Kestrel 應用的該屬性無法動態(tài)調整,因此追加實現,實現動態(tài)整體限速。
3、Limit.Rate.Period:對訪問Url的間隔時間(單位秒)
配置時間段,如 Limit.Rate.Period :5(s), (單位秒)
4、Limit.Rate.Limit:間隔時間內允許的訪問次數
配置時間段內允許的最大請求數,如 Limit.Rate.Limit :500
5、Limit.Rate.Key:用于以key為單位的限制頻率的關鍵參數
如默認配置為:IP,則以用戶的訪問IP為單位進行限制。
如果配置為其它參數:則以配置Request[參數]或Request.Header[參數]的獲取值為訪問單位進行限制。
比如以token為用戶單位,則可以配置:token
3、IP?黑名單配置項
配置界面如下:
?配置說明如下:
Limit.IP.IsEnable:是否啟用IP黑名單限制
配置啟用后,對應的IP名單,在Sync - Setting?同步設置里設置:
如果IP黑名單沒有開啟,則填寫框是灰色的,不可寫狀態(tài),并有提示該配置項目前為false。
如果配置項打開了,則填寫框可用。
按提示框,一行填寫1個IP即可,可以用*號代表IP段。
微服務的提示:
Add ip blackname list :if current is register center of master , it will be synchronize to all servers. 如果當前為注冊中心應用,則本IP地址列表的限制,會同步到所有客戶端應用,包括網關。
而作為微服務客戶端或網關,也可以通過在微服務配置列表里,找到是否允許被同步的配置開啟。
4、Ack?限制
配置界面如下:
?配置說明如下:
1、Limit.Ack.IsEnable:是否啟用Ack驗證
用途:加強網絡請求的安全性,避免請求鏈接被攔截或重復使用。
1、對于客戶端,比如前端、IOS、Android,可以在每次請求時,都帶上ack請求頭。 ack 的算法,參考:Limt.Ack CreateAck() 的使用調用方式或說明。 2、后端默認會驗證該ack是否合法。
2、Limit.Ack.Key:每個項目需要約定不同的key為加密項
可以隨便取,長度6個以內即可。
3、Limit.Ack.IsVerifyDecode:是否需要驗證解碼
驗證時,通過解碼,得到key,并和配置的key比較是否一至。
4、Limit.Ack.IsVerifyUsed:是否驗證僅使用1次
開啟時,每個ack僅能使用1次,已使用過的會被限定1定時間內不可再使用,可以避免重復請求。
5、Limit.Ack CreateAck():這不是配置,這只是一個算法說明
該算法用于告訴前端調用者,如果要使用本功能,需要根據本約定算法,通過各自語言,來編寫算法產生ack。文章來源:http://www.zghlxwxcb.cn/news/detail-762025.html
總結:
最近在寫分布式事務插件,待完成后,配合之前已完成的分布式鎖,整個微服務體系將完整了。文章來源地址http://www.zghlxwxcb.cn/news/detail-762025.html
繼上篇:Taurus .Net Core 微服務開源框架:Admin 插件【4-7】 - 配置管理-Mvc【Plugin-Metric 接口調用次數統(tǒng)計】
本篇繼續(xù)介紹下一個內容:
1、系統(tǒng)配置節(jié)點:Mvc -?Plugin - Limit 接口訪問限制、IP限制、Ack限制:
配置界面如下:
限制目前提供以下三個類別的限制:
1、Rate 訪問頻率限制 2、IP IP黑名單限制 3、Ack 請求頭驗證
1、Limit.IsIgnoreLAN:是否忽略對內網IP的限制
對三種類別限制都有效。
2、Limit.IsIgnoreAdmin:是否忽略對后臺管理【插件】界面的限制
對三種類別限制都有效。
3、Limit.IsIgnoreDoc:是否忽略對自動化接口測試及文檔管理【插件】界面的限制
對三種類別限制都有效。
4、Limit.IsIgnoreMicroService:是否忽略對微服務【插件】通訊的限制
對三種類別限制都有效。
5、Limit.IsUseXRealIP:是否先嘗試獲取請求頭的【X-Real-IP】為IP
先取 request.Headers["X-Real-IP"],為空再?。簉equest.UserHostAddress
以上為三者通用配置,下面看各自的配置項。
2、?Rate?配置【請求頻率限制】
配置界面如下:
?配置說明如下:
1、Limit.Rate.IsEnable:是否啟用訪問頻率限制功能
通過開關啟用即可,默認關閉。
2、Limit.Rate.MaxConcurrentConnections:應用最大并發(fā)鏈接數
為整個應用設置并發(fā)打開的最大 TCP 連接數,默認情況下,最大連接數不受限制。
Kestrel 應用的該屬性無法動態(tài)調整,因此追加實現,實現動態(tài)整體限速。
3、Limit.Rate.Period:對訪問Url的間隔時間(單位秒)
配置時間段,如 Limit.Rate.Period :5(s), (單位秒)
4、Limit.Rate.Limit:間隔時間內允許的訪問次數
配置時間段內允許的最大請求數,如 Limit.Rate.Limit :500
5、Limit.Rate.Key:用于以key為單位的限制頻率的關鍵參數
如默認配置為:IP,則以用戶的訪問IP為單位進行限制。
如果配置為其它參數:則以配置Request[參數]或Request.Header[參數]的獲取值為訪問單位進行限制。
比如以token為用戶單位,則可以配置:token
3、IP?黑名單配置項
配置界面如下:
?配置說明如下:
Limit.IP.IsEnable:是否啟用IP黑名單限制
配置啟用后,對應的IP名單,在Sync - Setting?同步設置里設置:
如果IP黑名單沒有開啟,則填寫框是灰色的,不可寫狀態(tài),并有提示該配置項目前為false。
如果配置項打開了,則填寫框可用。
按提示框,一行填寫1個IP即可,可以用*號代表IP段。
微服務的提示:
Add ip blackname list :if current is register center of master , it will be synchronize to all servers. 如果當前為注冊中心應用,則本IP地址列表的限制,會同步到所有客戶端應用,包括網關。
而作為微服務客戶端或網關,也可以通過在微服務配置列表里,找到是否允許被同步的配置開啟。
4、Ack?限制
配置界面如下:
?配置說明如下:
1、Limit.Ack.IsEnable:是否啟用Ack驗證
用途:加強網絡請求的安全性,避免請求鏈接被攔截或重復使用。
1、對于客戶端,比如前端、IOS、Android,可以在每次請求時,都帶上ack請求頭。 ack 的算法,參考:Limt.Ack CreateAck() 的使用調用方式或說明。 2、后端默認會驗證該ack是否合法。
2、Limit.Ack.Key:每個項目需要約定不同的key為加密項
可以隨便取,長度6個以內即可。
3、Limit.Ack.IsVerifyDecode:是否需要驗證解碼
驗證時,通過解碼,得到key,并和配置的key比較是否一至。
4、Limit.Ack.IsVerifyUsed:是否驗證僅使用1次
開啟時,每個ack僅能使用1次,已使用過的會被限定1定時間內不可再使用,可以避免重復請求。
5、Limit.Ack CreateAck():這不是配置,這只是一個算法說明
該算法用于告訴前端調用者,如果要使用本功能,需要根據本約定算法,通過各自語言,來編寫算法產生ack。
總結:
最近在寫分布式事務插件,待完成后,配合之前已完成的分布式鎖,整個微服務體系將完整了。
到了這里,關于Taurus .Net Core 微服務開源框架:Admin 插件【4-8】 - 配置管理-Mvc【Plugin-Limit 接口訪問限制、IP限制、Ack限制】的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!