[發明專利]用于微服務的限流方法及裝置有效
| 申請號: | 202011329458.3 | 申請日: | 2020-11-24 |
| 公開(公告)號: | CN112367268B | 公開(公告)日: | 2022-07-05 |
| 發明(設計)人: | 翟小青;陳乃帥;湯國強;汪宇;孫遷 | 申請(專利權)人: | 蘇寧云計算有限公司 |
| 主分類號: | H04L47/20 | 分類號: | H04L47/20;H04L47/2425;H04L47/10 |
| 代理公司: | 北京市萬慧達律師事務所 11111 | 代理人: | 盛安平 |
| 地址: | 210000 江蘇省南*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 微服 限流 方法 裝置 | ||
1.一種用于微服務的限流方法,其特征在于,包括:
針對微服務系統提供的微服務配置出多個限流優先級,每個限流優先級包括對應的并發閾值和TPS閾值;
接收調用方系統的接入申請,獲取調用方系統對所述微服務的期望并發和期望TPS,用于匹配微服務中對應的限流優先級;
獲取調用方系統的微服務請求進行預占判斷,判斷通過后基于當前微服務請求的TPS預占數進行正式預占,并向調用方系統返回預占碼;
基于限流優先級中匹配的TPS閾值以及所述預占碼和所述TPS預占數,判斷是否對當前微服務請求執行TPS限流;和/或,
基于限流優先級中匹配的并發閾值以及當前微服務請求的并發數,判斷是否對當前微服務請求執行并發限流。
2.根據權利要求1所述的方法,其特征在于,還包括:
微服務系統定時跑任務,根據每個調用方系統對微服務的訪問請求,定期更新每個調用方系統與微服務中匹配的限流優先級。
3.根據權利要求1所述的方法,其特征在于,接收調用方系統的接入申請獲取對所述微服務的期望并發和期望TPS,用于匹配微服務中對應的限流優先級的方法包括:
微服務系統接收調用方系統的接入申請,所述接入申請中包括所述調用方系統的期望并發和期望TPS;
基于所述期望TPS,從多個限流優先級中匹配出最接近且小于所述期望TPS的TPS閾值,匹配出微服務中對應的限流優先級。
4.根據權利要求1所述的方法,其特征在于,獲取調用方系統的微服務請求進行預占判斷的方法包括:
當A+B+C<D時,則當前微服務請求的預占判斷通過,否則當前微服務請求的預占判斷不通過;
其中,所述A表示當前時間窗口正在執行的TPS請求數,所述B表示當前有效期內已申請但未執行的TPS請求數,所述C表示當前微服務請求的TPS預占數,所述D表示匹配限流優先級中的TPS閾值;
當前時間窗口正在執行的TPS請求數采用TPS累加器計數,當前有效期內已申請但未執行的TPS請求數采用合計累加器計數,當前微服務請求的TPS預占數采用預占累加器計數;
所述預占累加器中的key為預占碼,value為TPS預占數,所述TPS累加器和所述合計累加器中的key由調用方系統ID、微服務系統ID和時間戳組成,value為請求數量。
5.根據權利要求4所述的方法,其特征在于,基于當前微服務請求的TPS預占數進行正式預占的方法包括:
根據時間戳從當前微服務請求的預占累加器中獲取預占碼以及TPS預占數進行正式預占,同時對合計累加器中的請求數量進行更新。
6.根據權利要求1所述的方法,其特征在于,基于限流優先級中匹配的TPS閾值以及所述預占碼和所述TPS預占數,判斷是否對當前微服務請求執行TPS限流的方法包括:
校驗當前微服務請求在預占累加器中是否存在預占碼,若是則繼續校驗當前微服務請求中的實際TPS請求數是否超過TPS預占數;
當超過時僅處理與TPS預占數量相等的實際TPS請求,其余的實際TPS請求執行TPS限流。
7.根據權利要求1所述的方法,其特征在于,基于限流優先級中匹配的并發閾值以及當前微服務請求的并發數,判斷是否對當前微服務請求執行并發限流的方法包括:
校驗并發累加器中的請求數量,當其大于并發閾值時對當前微服務請求執行并發限流。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇寧云計算有限公司,未經蘇寧云計算有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011329458.3/1.html,轉載請聲明來源鉆瓜專利網。





