System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及網關限流,特別是涉及一種基于時序的分級限流裝置。
技術介紹
1、網關是一個大中型系統中不可或缺的模塊,而限流器作為網關的重要組成部分,可以起到限流作用,進而防止過度擁塞和惡意攻擊,確保系統資源分配合理,提高系統的穩定性和效率;并保證客戶擁有更好的使用體驗。
2、現有的限流方式包括:令牌桶算法、漏桶算法、固定窗口計數器算法等,然而上述方法都不適用于對服務和接口的優先級管理,無法應用于需要優先保障關鍵服務的場景;且當系統的關鍵服務隨著時間變化而呈現周期性轉移的時候,限流器需要具有一定的動態調整能力,自適應地保障各時間段的關鍵服務。例如,系統有a/b兩個服務,上午9點至下午3點,a是系統的關鍵服務,限流器需要在此時段內優先保障a服務,3點之后b是系統的關鍵服務,限流器需要自動調整到優先保障b服務,目前通用限流器無法達到目標要求。
3、因此,需要一種能夠滿足周期性業務轉移以及根據優先權分級的限流器。
技術實現思路
1、有鑒于此,本專利技術提供了一種基于時序的分級限流裝置,解決現有限流器無法優先保障關鍵服務以及限流能力無法呈現周期性轉移的問題。
2、為此,本專利技術提供了以下技術方案:
3、一種基于時序的分級限流裝置,包括:
4、時序管理器、服務分級控制器以及優先級管理器;
5、時序管理器通過定時觸發器定期掃描時序清單,當檢測到時序發生變化,將當前時序的關鍵服務信息發送至服務分級控制器;
6、服
7、優先級管理器根據關鍵服務的優先級以及限流控制策略生成請求過濾規則;根據請求過濾規則對請求進行過濾,判斷攔截或放行請求。
8、進一步地,所述時序清單負責維護各時間段的關鍵服務信息;
9、所述時序清單由配置文件指定或由統計數據抽樣生成。
10、進一步地,所述關鍵服務信息,包括:服務優先級、接口列表、qps峰值和實時性要求;
11、其中未列入的服務默認歸類為普通服務,并賦予最低的優先級。
12、進一步地,所述服務分級控制器實時收集服務的監控數據,結合當前時序的關鍵服務信息,生成限流控制策略和限流參數,包括:
13、根據服務節點數和接口性能數據確定限流速率和閾值;
14、根據服務的并發量以及實時性要求確定限流控制策略;
15、所述限流控制策略包括,判斷請求是否進入優先級隊列。
16、進一步地,所述服務分級控制器還包括特定事件告警裝置;
17、所述特定事件告警裝置包括:發生特征事件時觸發警告,重置監控數據,重新生成限流控制策略和限流參數;
18、所述特定事件包括:某個關鍵服務的節點數發生變化和服務請求量激增。
19、進一步地,所述優先級管理器根據關鍵服務的優先級以及限流控制策略生成請求過濾規則,包括:
20、優先級管理器根據服務分級控制器提供的優先級參數,創建多個令牌隊列,并賦予每個令牌隊列不同的優先級,設置令牌的生成速率;
21、令牌生成后,按照令牌隊列優先級從高到低放入隊列;
22、若所有令牌隊列都滿了,則拋棄新生成的令牌;
23、優先級管理器根據限流控制策略判斷是否創建優先級隊列以及請求是否進入優先級隊列;
24、判斷進入優先級隊列的請求按由高到低順序出列,按照令牌隊列優先級從低到高且不高于自身優先級的令牌隊列取出令牌;
25、判斷不進入優先級隊列的請求,按照令牌隊列的優先級從低到高且不高于自身優先級的令牌隊列取出令牌;
26、獲取到令牌的請求會被放行,未獲取到令牌的請求會被攔截。
27、一種基于時序的分級限流方法,包括:
28、定期掃描時序清單,當檢測到時序變化,確定當前時序的關鍵服務信息;
29、根據實時收集服務的監控數據,結合當前時序的關鍵服務信息,生成限流控制策略和限流參數;
30、根據關鍵服務的優先級以及限流控制策略生成請求過濾規則;
31、根據請求過濾規則對請求進行過濾,判斷攔截或放行請求。
32、進一步地,所述請求過濾規則,包括:
33、根據優先級參數,創建多個令牌隊列,并賦予每個令牌隊列不同的優先級和匹配規則,設置令牌的生成速率;
34、令牌生成后,按照令牌隊列優先級從高到低放入隊列;
35、若所有令牌隊列都滿了,則拋棄新生成的令牌;
36、根據限流控制策略判斷是否創建優先級隊列以及請求是否進入優先級隊列;
37、判斷進入優先級隊列的請求按由高到低順序出列,按照令牌隊列優先級從低到高且不高于自身優先級的令牌隊列取出令牌;
38、判斷不進入優先級隊列的請求,按照令牌隊列的優先級從低到高且不高于自身優先級的令牌隊列取出令牌;
39、獲取到令牌的請求會被放行,未獲取到令牌的請求會被攔截。
40、本專利技術的優點和積極效果:
41、本專利技術限流器能在請求量較大時,通過為請求創建優先級隊列與令牌隊列,適當攔截非關鍵服務的請求,有效保障關鍵服務的響應能力和性能;本專利技術限流器能按照配置的時序關系進行自動調整,保障各時段的關鍵服務持續可用。
本文檔來自技高網...【技術保護點】
1.一種基于時序的分級限流裝置,其特征在于,包括:
2.根據權利要求1所述一種基于時序的分級限流裝置,其特征在于,所述時序清單負責維護各時間段的關鍵服務信息;
3.根據權利要求2所述一種基于時序的分級限流裝置,其特征在于,所述關鍵服務信息,包括:服務優先級、接口列表、QPS峰值和實時性要求;
4.根據權利要求1所述一種基于時序的分級限流裝置,其特征在于,所述服務分級控制器實時收集服務的監控數據,結合當前時序的關鍵服務信息,生成限流控制策略和限流參數,包括:
5.根據權利要求4所述一種基于時序的分級限流裝置,其特征在于,所述服務分級控制器還包括特定事件告警裝置;
6.根據權利要求1所述一種基于時序的分級限流裝置,其特征在于,所述優先級管理器根據關鍵服務的優先級以及限流控制策略生成請求過濾規則,包括:
7.一種基于時序的分級限流方法,基于權利要求1-6任意一項所述的基于時序的分級限流裝置,其特征在于,包括:
8.根據權利要求7所述一種基于時序的分級限流方法,其特征在于,所述請求過濾規則,包括:
【技術特征摘要】
1.一種基于時序的分級限流裝置,其特征在于,包括:
2.根據權利要求1所述一種基于時序的分級限流裝置,其特征在于,所述時序清單負責維護各時間段的關鍵服務信息;
3.根據權利要求2所述一種基于時序的分級限流裝置,其特征在于,所述關鍵服務信息,包括:服務優先級、接口列表、qps峰值和實時性要求;
4.根據權利要求1所述一種基于時序的分級限流裝置,其特征在于,所述服務分級控制器實時收集服務的監控數據,結合當前時序的關鍵服務信息,生成限流控制策略和限流參數,包括...
【專利技術屬性】
技術研發人員:賀東星,趙志騰,馮超,
申請(專利權)人:大連飛創信息技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。