精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

分布式神器-限流器的四種限流方法

要長高 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2024-02-06 14:17 ? 次閱讀

分布式系統(tǒng)中的限流器是一種重要的技術(shù)組件,用于控制和管理系統(tǒng)的流量,防止系統(tǒng)因流量過大而崩潰或性能下降。限流器的主要作用是在保證系統(tǒng)可用性的前提下,對(duì)流量進(jìn)行合理的限制和調(diào)度,以保證系統(tǒng)的穩(wěn)定性和可靠性。

在分布式系統(tǒng)中,限流器通常被部署在系統(tǒng)的入口或關(guān)鍵節(jié)點(diǎn)上,用于控制來自外部或內(nèi)部的請(qǐng)求流量。通過限制流量的速度和數(shù)量,限流器可以有效地防止系統(tǒng)因流量過大而出現(xiàn)擁塞或崩潰的情況。同時(shí),限流器還可以對(duì)流量進(jìn)行調(diào)度和分配,以保證系統(tǒng)的負(fù)載均衡和資源利用率的最大化。

常見的限流算法包括計(jì)數(shù)器、固定窗口、滑動(dòng)窗口、漏桶和令牌桶等。其中,計(jì)數(shù)器是最簡單的限流算法,它通過統(tǒng)計(jì)請(qǐng)求的數(shù)量來進(jìn)行限流,但缺乏時(shí)間概念,容易出現(xiàn)流量突增的情況。固定窗口和滑動(dòng)窗口算法則引入了時(shí)間概念,通過對(duì)時(shí)間窗口內(nèi)的請(qǐng)求數(shù)量進(jìn)行限制來實(shí)現(xiàn)限流,但可能存在窗口邊界的流量突變問題。漏桶和令牌桶算法則通過控制流量的速率來進(jìn)行限流,可以更好地平滑流量波動(dòng)。

在實(shí)際應(yīng)用中,限流器還可以結(jié)合其他技術(shù)手段來提高系統(tǒng)的可用性和性能,如降級(jí)處理、請(qǐng)求排隊(duì)、熔斷機(jī)制等。當(dāng)系統(tǒng)流量超過閾值時(shí),可以通過降級(jí)處理來減少非關(guān)鍵業(yè)務(wù)的影響,保證核心業(yè)務(wù)的正常運(yùn)行;請(qǐng)求排隊(duì)則可以將超出閾值的請(qǐng)求放入隊(duì)列中等待處理,避免直接拒絕請(qǐng)求導(dǎo)致用戶體驗(yàn)下降;熔斷機(jī)制則可以在系統(tǒng)出現(xiàn)異常情況時(shí)快速切斷請(qǐng)求鏈路,防止故障擴(kuò)散和影響整個(gè)系統(tǒng)。

限流方法

這里我們主要討論后端基于請(qǐng)求量的限流,限流是一種非常廣泛的應(yīng)用技術(shù),就比如你在登錄系統(tǒng)時(shí),經(jīng)常會(huì)需要你輸入手機(jī)驗(yàn)證、動(dòng)態(tài)碼或一些奇奇怪怪的驗(yàn)證方式, 來降低登錄請(qǐng)求的頻次。

計(jì)數(shù)限流

按數(shù)量進(jìn)行控制,達(dá)到設(shè)置的閾值則進(jìn)行限流,其中固定窗口,滑動(dòng)窗口則是通過該方法實(shí)現(xiàn)。

固定窗口

通過控制時(shí)間單元內(nèi)允許的請(qǐng)求數(shù)量,一旦達(dá)到閾值,則不會(huì)處理該請(qǐng)求后續(xù)相關(guān)的業(yè)務(wù)或者直接讓請(qǐng)求快速失敗并給予提示。

wKgaomXBz4CAAjufAABMxUltGuk761.png

比如我們配置10s內(nèi)允許請(qǐng)求的流量為1000,在第1~9s內(nèi)請(qǐng)求為0,在第9~10秒內(nèi)的請(qǐng)求數(shù)為1000,這樣一秒內(nèi)的請(qǐng)求就達(dá)到了1000。當(dāng)然我們可以時(shí)間單元?jiǎng)澐殖筛×6龋?但是應(yīng)該多小才合適呢?

問題:只能對(duì)時(shí)間單元內(nèi)的總請(qǐng)求數(shù)進(jìn)行控制,當(dāng)請(qǐng)求集中在較小時(shí)間范圍內(nèi)時(shí),無法達(dá)到流量限制的效果,因此這是一種粗粒度的流量限制手段

滑動(dòng)窗口

為了解決固定窗口算法中存在的問題,通過滑動(dòng)窗口的方法,將上述時(shí)間單元?jiǎng)澐殖啥鄠€(gè)細(xì)粒度的時(shí)間窗口,每個(gè)窗口都有自己獨(dú)立的請(qǐng)求計(jì)數(shù)器,這樣就可以讓時(shí)間單元內(nèi)的流量控制均勻地 落在各個(gè)時(shí)間窗口上,同時(shí)滑動(dòng)的時(shí)間窗口可以形成連續(xù)時(shí)間區(qū)間控制,并不像固定窗口那樣只在兩個(gè)時(shí)間刻度間。

wKgZomXBz4qAZDhtAAGEYCqeIjE274.png

比如時(shí)間單元為1s,每個(gè)時(shí)間窗口為100ms,在1秒內(nèi)的10個(gè)時(shí)間窗口可以為09:01:01.000~09:01:02.000、09:01:01.200~09:01:02.800...

問題:滑動(dòng)窗口的區(qū)間劃分的越多,則滑動(dòng)窗口的滾動(dòng)就越平滑,限流的統(tǒng)計(jì)就會(huì)越精確,但也需要更多的資源為窗口時(shí)間片段保存計(jì)數(shù)器,從而耗費(fèi)系統(tǒng)資源

漏桶算法

如果將請(qǐng)求看成水滴,限流器看成一個(gè)下面開口的桶(漏桶)。漏桶算法其實(shí)就是當(dāng)水滴(請(qǐng)求)先進(jìn)入到漏桶里,漏桶以一定的速度出水,當(dāng)水流入速度過大時(shí)則會(huì)超過桶的可接納容量, 這時(shí)水將直接溢出,漏桶算法能強(qiáng)行限制數(shù)據(jù)的傳輸速率。使用漏桶算法,可以保證接口會(huì)以一個(gè)常速速率來處理請(qǐng)求,所以漏桶算法必定不會(huì)出現(xiàn)臨界問題。

wKgZomXBz5WACnaKAAEFmqNBGBo461.png

問題:當(dāng)短時(shí)間內(nèi)如果有大量的突發(fā)請(qǐng)求時(shí),即使服務(wù)器負(fù)載不高,每個(gè)請(qǐng)求也需要等待一段時(shí)間(水滴間隔)才能被響應(yīng)。

總之,分布式系統(tǒng)中的限流器是一種重要的技術(shù)組件,它可以幫助系統(tǒng)更好地應(yīng)對(duì)流量壓力,保證系統(tǒng)的穩(wěn)定性和可靠性。在實(shí)際應(yīng)用中,需要根據(jù)系統(tǒng)的特點(diǎn)和需求選擇合適的限流算法和技術(shù)手段,以實(shí)現(xiàn)最佳的限流效果。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2254

    瀏覽量

    94371
  • 限流器
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    14475
  • 分布式系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    146

    瀏覽量

    19204
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    分布式軟件系統(tǒng)

    計(jì)算機(jī)硬件的配置方式和相應(yīng)的功能配置方式。它是一多處理的計(jì)算機(jī)系統(tǒng),各處理通過互連網(wǎng)絡(luò)構(gòu)成統(tǒng)一的系統(tǒng)。系統(tǒng)采用分布式計(jì)算結(jié)構(gòu),即把原來系統(tǒng)內(nèi)中央處理
    發(fā)表于 07-22 14:53

    限流熔斷怎么分類?

    限流熔斷是高壓熔斷的一限流熔斷分為電阻限流
    發(fā)表于 11-01 09:00

    分布式數(shù)據(jù)采集系統(tǒng)同步的方法

    本文介紹了基于SAR ADC的系統(tǒng)和基于sigma-delta (∑-Δ) ADC的分布式數(shù)據(jù)采集系統(tǒng)同步的傳統(tǒng)方法,且探討了這兩架構(gòu)之間的區(qū)別。我們還將討論同步多個(gè)Σ-Δ ADC時(shí)遇到的典型不便
    發(fā)表于 11-23 10:33

    多路輸出隔離驅(qū)動(dòng)電路及其在短路限流中的應(yīng)用

    多路輸出隔離驅(qū)動(dòng)電路及其在短路限流中的應(yīng)用   摘要:給出了一新穎的多路輸出隔離驅(qū)動(dòng)電路,它利用分布式
    發(fā)表于 07-06 13:58 ?711次閱讀
    多路輸出隔離驅(qū)動(dòng)電路及其在短路<b class='flag-5'>限流</b><b class='flag-5'>器</b>中的應(yīng)用

    設(shè)計(jì)出四種場(chǎng)景分析分布式能源系統(tǒng)潛在趨勢(shì),并制定相應(yīng)的行動(dòng)方針

    羅蘭貝格對(duì)此進(jìn)行了研究,邀請(qǐng)了50位專家來預(yù)測(cè)至2035年的歐洲能源市場(chǎng),通過分析最有可能影響分布式能源系統(tǒng)轉(zhuǎn)型的關(guān)鍵政治與市場(chǎng)變量,設(shè)計(jì)出四種場(chǎng)景,政策制定者與市場(chǎng)參與者可以據(jù)此分析潛在趨勢(shì),并制定相應(yīng)的行動(dòng)方針。
    的頭像 發(fā)表于 01-13 09:18 ?4385次閱讀

    飽和鐵心橋故障限流

    為解決系統(tǒng)短路電流過大、傳統(tǒng)飽和鐵心型故障限流限流效果和經(jīng)濟(jì)性不理想等問題,提出一飽和鐵心橋故障
    發(fā)表于 01-29 11:23 ?0次下載
    一<b class='flag-5'>種</b>飽和鐵心橋<b class='flag-5'>式</b>故障<b class='flag-5'>限流</b><b class='flag-5'>器</b>

    限流的作用_限流的工作原理

    本文首先介紹了限流的作用和特征,然后分析了限流的優(yōu)缺點(diǎn),最后粗略說明了限流的工作原理并且從
    的頭像 發(fā)表于 08-02 14:56 ?2.4w次閱讀

    常用限流方式分析 怎么設(shè)計(jì)出高并發(fā)限流方案

    ,而對(duì)于超過限制的流量,則通過拒絕服務(wù)的方式保證整體系統(tǒng)的可用性。 根據(jù)限流作用范圍,可以分為 單機(jī)限流分布式限流 ;根據(jù)限流方式,又分為
    的頭像 發(fā)表于 10-09 17:53 ?1630次閱讀

    限流方案常用算法 常用的限流方案

    需要注意的是借助Redis實(shí)現(xiàn)的限流方案可用于分布式系統(tǒng),而guava實(shí)現(xiàn)的限流只能應(yīng)用于單機(jī)環(huán)境。如果你覺得服務(wù)限流麻煩,可以在不改任
    發(fā)表于 04-08 10:50 ?404次閱讀

    分布式限流簡介

    限流是生產(chǎn)中經(jīng)常遇到的一個(gè)場(chǎng)景, 目前現(xiàn)有的一個(gè)工具大部分是提供單機(jī)限流的能力, 例如 google 的 guava 中提供的 RateLimiter. 但是生產(chǎn)環(huán)境大部分是分布式環(huán)境, 在多臺(tái)機(jī)器的環(huán)境下, 需要的是能對(duì)多臺(tái)機(jī)
    的頭像 發(fā)表于 05-16 16:40 ?1047次閱讀
    <b class='flag-5'>分布式</b><b class='flag-5'>限流</b>簡介

    如何判斷限流斷路能保護(hù)到微斷?能否從限流曲線判斷?

    如何判斷限流斷路能保護(hù)到微斷?能否從限流曲線判斷? 限流斷路(也稱為過載保護(hù))是一
    的頭像 發(fā)表于 02-05 15:23 ?551次閱讀

    限流”型熔斷和“非限流”型熔斷有何區(qū)別?

    限流”型熔斷和“非限流”型熔斷有何區(qū)別? 熔斷是一
    的頭像 發(fā)表于 02-05 15:23 ?2334次閱讀

    限流是啥 常見的限流

    限流通常會(huì)根據(jù)特定條件對(duì)電流進(jìn)行調(diào)整。當(dāng)電流超過設(shè)定的閾值時(shí),限流將引入額外的電阻或其他形式的阻抗,以限制電流的流動(dòng)。
    的頭像 發(fā)表于 02-06 13:51 ?3488次閱讀

    限流的使用方法和原理

    限流可用于控制充電設(shè)備的輸出電流。在手機(jī)、平板電腦、電動(dòng)車等充電器中使用限流裝置可以控制充電電流,以防止過電流損壞充電設(shè)備或充電電池。
    發(fā)表于 02-06 14:24 ?1540次閱讀

    Redis實(shí)現(xiàn)分布式多規(guī)則限流的方式介紹

    市面上很多介紹 Redis 如何實(shí)現(xiàn)限流的,但是大部分都有一個(gè)缺點(diǎn),就是只能實(shí)現(xiàn)單一的限流,比如 1 分鐘訪問 1 次或者 60 分鐘訪問 10 次這種,但是如果想一個(gè)接口兩規(guī)則都需要滿足呢,我們的項(xiàng)目又是
    的頭像 發(fā)表于 02-26 10:07 ?453次閱讀
    Redis實(shí)現(xiàn)<b class='flag-5'>分布式</b>多規(guī)則<b class='flag-5'>限流</b>的方式介紹