[發明專利]限流方法、裝置、服務器及服務器集群在審
| 申請號: | 202010611501.9 | 申請日: | 2020-06-29 |
| 公開(公告)號: | CN111988355A | 公開(公告)日: | 2020-11-24 |
| 發明(設計)人: | 龍金華;李曉丹 | 申請(專利權)人: | 漢海信息技術(上海)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京博雅睿泉專利代理事務所(特殊普通合伙) 11442 | 代理人: | 吳秀娥 |
| 地址: | 200335 上海市*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 限流 方法 裝置 服務器 集群 | ||
本公開公開了一種限流方法,應用于服務器集群中的節點服務器,包括:接收數據訪問請求;響應于所述數據訪問請求,從本地緩存區中獲取本地限流值,其中,所述本地限流值為總限流值的本地緩存值,所述總限流值為所述服務器集群在預設時間長度內接收到的數據訪問請求的累加值;根據所述本地限流值,處理所述數據訪問請求。該方法通過將總限流值緩存在本地緩存區中,并根據本地緩存區中的本地限流值處理節點服務器接收到的數據訪問請求,可以靈活、方便的進行系統限流,提升限流效率。
技術領域
本公開涉及互聯網限流技術領域,更具體地,涉及一種限流方法、裝置、服務器及服務器集群。
背景技術
通常,在系統設計階段,會對應用系統單位時間內可處理的請求數(QPS,Queries-Per-Second)進行一個預估,并會基于預估值進行整體的系統架構設計以及部署。然而,隨著業務的不斷發展,應用系統在單位時間內接收到的請求數存在超過該預估值的可能性,進而可能導致整個系統服務不可用,因此,一般會在應用系統的服務接口上增加限流處理,以對應用系統進行過載保護。
目前常用的限流方法一般有:1、基于谷歌開源工具(GuavaRateLimiter)的限流方法,該方法基于令牌桶(TokenBucket)算法進行限流,即,以一個設定速度模式往令牌桶中放令牌,當有請求需要被處理的時候會從令牌桶中取走令牌,當令牌桶中沒有令牌時,會觸發應用系統進行限流;2、基于redis(Remote Dictionary Server)數據庫的分布式限流方法,該方法同樣是基于令牌桶算法進行限流,具體是通過redis的單線程執行腳本進行令牌的生成,應用系統所在的服務器集群整體對redis進行請求以判斷是否觸發限流。
上述第一種方法一般應用于單機或者負載較為均衡的分布式系統的限流場景中,其應用范圍存在一定的局限性,并且當系統服務出現負載分布不均的情況時,該方法還存在限流失效的問題。而上述第二種方法雖然不存在應用范圍的局限性,但是其對redis的性能具有強依賴性,存在不能靈活、方便的進行系統限流的問題。
發明內容
本公開實施例的一個目的是提供一種用于限流的新技術方案。
根據本公開的第一方面,提供了一種限流方法,應用于服務器集群中的節點服務器,該方法包括:
接收數據訪問請求;
響應于所述數據訪問請求,從本地緩存區中獲取本地限流值,其中,所述本地限流值為總限流值的本地緩存值,所述總限流值為所述服務器集群在預設時間長度內接收到的數據訪問請求的累加值;
根據所述本地限流值,處理所述數據訪問請求。
可選地,所述根據所述本地限流值,處理所述數據訪問請求,包括:
在所述本地限流值大于預設的限流閾值的情況下,對所述數據訪問請求執行限流處理。
可選地,所述對所述數據訪問請求執行限流處理,包括:
拒絕所述數據訪問請求。
可選地,所述方法還包括:
根據所述數據訪問請求,更新所述總限流值;
根據更新后的總限流值,更新所述本地限流值。
可選地,所述服務器集群還包括與節點服務器通信的數據庫服務器,所述總限流值存儲在所述數據庫服務器中,所述更新所述總限流值,包括:
向所述數據庫服務器發送用于更新所述總限流值的數據請求消息;
獲取所述數據庫服務器返回的、對應于所述數據請求消息的回調消息;
從所述回調消息中,獲取所述更新后的總限流值。
可選地,所述更新所述總限流值還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于漢海信息技術(上海)有限公司,未經漢海信息技術(上海)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010611501.9/2.html,轉載請聲明來源鉆瓜專利網。





