日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

五分鐘搞懂分布式流控算法

來源: 責編: 時間:2024-04-29 09:07:39 175觀看
導讀流控是任何一個復雜系統都必須考慮的問題,本文介紹并比較了不同的流控算法,從而幫助我們可以基于系統需求和架構選擇合適的方案。原文:Distributed Rate-Limiting Algorithms[1]當我們設計分布式流控系統(distributed rat

流控是任何一個復雜系統都必須考慮的問題,本文介紹并比較了不同的流控算法,從而幫助我們可以基于系統需求和架構選擇合適的方案。原文:Distributed Rate-Limiting Algorithms[1]6IU28資訊網——每日最新資訊28at.com

當我們設計分布式流控系統(distributed rate-limiting system)時,需要用到哪些工具和算法?6IU28資訊網——每日最新資訊28at.com

Joshua Hoehne @Unsplash6IU28資訊網——每日最新資訊28at.com

Criteo是全球最大的廣告技術公司之一,隨著廣告市場的不斷發展,Criteo在過去幾年里一直致力于改進API,幫助客戶更好的通過可編程接口訪問需要的服務。6IU28資訊網——每日最新資訊28at.com

隨著越來越多的客戶使用新的API,很明顯,需要實現某種流量控制,以確保所有客戶端都能平等訪問資源,并保護API免受(惡意或錯誤的)頻繁調用。6IU28資訊網——每日最新資訊28at.com

流控似乎很簡單: 只允許給定的客戶端每分鐘執行X個調用。在單個服務器實例上實現流控非常容易,可以很容易找到相關的庫來實現。但問題是我們的API托管在6個數據中心(歐洲、北美和亞洲),每個數據中心都有多個實例,這意味著我們需要某種分布式流控系統。6IU28資訊網——每日最新資訊28at.com

流控不僅與調用次數有關,還需要和客戶端同步當前被限制的狀態(例如,使用專用的報頭和狀態碼)。但是本文將主要關注用于流控的算法和系統。6IU28資訊網——每日最新資訊28at.com

利用負載均衡

在嘗試開發自己的系統之前,更重要的是查看現有的基礎設施是否能夠提供想要的特性。6IU28資訊網——每日最新資訊28at.com

那么,部署在數據中心所有實例之前,并且已經在負責檢查、路由流量的是什么?負載均衡器。大多數負載均衡器都提供了流控特性或某種可用于實現流控的抽象。例如,HAProxy有現成的可用于設置流控的stick tables[2],可以在實例之間同步狀態,并且工作得很好。6IU28資訊網——每日最新資訊28at.com

不幸的是,負載均衡不支持我們需要的某些特性(動態限制、令牌自省token introspection、……),因此我們需要自己實現這些特定的需求。6IU28資訊網——每日最新資訊28at.com

初級方案

會話粘連(Sticky sessions)

說到負載均衡,如果給定客戶端的負載并不均衡,并且總是與單個實例交互

本文鏈接:http://www.www897cc.com/showinfo-26-86346-0.html五分鐘搞懂分布式流控算法

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Nacos 并發小技巧之緩存實例信息

下一篇: 分享七個令人興奮的 Go-cli 項目

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 泰和县| 诸暨市| 肥城市| 杭锦旗| 原阳县| 惠东县| 昭通市| 开原市| 莲花县| 大渡口区| 阳泉市| 娄底市| 宁蒗| 体育| 图木舒克市| 商水县| 天全县| 屏山县| 永德县| 府谷县| 逊克县| 辽宁省| 文登市| 舒城县| 抚宁县| 松潘县| 普安县| 舒城县| 连平县| 岢岚县| 满洲里市| 巨野县| 盖州市| 庆阳市| 金寨县| 体育| 清新县| 濮阳县| 巨鹿县| 韶山市| 镇原县|