【Azure API 管理】APIM中的Policy是否有調(diào)用速率的方法(熔斷機制)

問題描述

APIM中的Policy是否有調(diào)用速率的方法(熔斷機制)

問題解答

APIM的限制速率的方式有以下方式:

rate-limit-by-key 策略可以對調(diào)用速率進行限制,使指定時段的調(diào)用不超出指定的數(shù)目华畏,避免單個密鑰的 API 使用量暴增捉超。 密鑰的值可以是任意字符串胧卤,通常使用策略表達式來提供密鑰。 可以添加可選增量條件拼岳,指定在決定是否到達限制值時應(yīng)該進行計數(shù)的請求枝誊。 超過此調(diào)用速率時,調(diào)用方會收到 429 Too Many Requests 響應(yīng)狀態(tài)代碼惜纸。

如果需要基于后端應(yīng)用響應(yīng)時間來判斷叶撒,可以通過在inbound和outbound中分別設(shè)置當(dāng)前的時間戳并在increment condition中判斷兩個時間戳的差值來判斷后臺響應(yīng)時間。

示例如:

<policies>
    <inbound>
        <base />
        <set-variable name="intime" value="@(DateTime.Now)" />
        <rate-limit-by-key calls="5" renewal-period="10" counter-key="@(context.Subscription?.Key ?? "anonymous")" increment-condition="@(Convert.ToDouble((context.Variables.GetValueOrDefault<DateTime>("outtime") - context.Variables.GetValueOrDefault<DateTime>("intime")).TotalMilliseconds.ToString()) > 5000 )" /> </inbound>
    <backend>
        <base />
    </backend>
    <outbound>
        <base />
        <set-variable name="outtime" value="@(DateTime.Now)" />
    </outbound>
    <on-error>
        <base />
    </on-error>
</policies>

說明:

此policy會探測10秒內(nèi)是否有5個請求“響應(yīng)時間”超過5s耐版,如果超過則限流祠够。(這個響應(yīng)時間為執(zhí)行兩次set-variable的時間,分別發(fā)生在執(zhí)行inbound策略和outbound策略時)

參考資料

API Management policy expressions:https://docs.microsoft.com/en-us/azure/api-management/api-management-policy-expressions#CLRTypes

按密鑰限制調(diào)用速率 : https://docs.azure.cn/zh-cn/api-management/api-management-access-restriction-policies#LimitCallRateByKey

當(dāng)在復(fù)雜的環(huán)境中面臨問題粪牲,格物之道需:濁而靜之徐清古瓤,安以動之徐生。 云中腺阳,恰是如此!

分類: 【Azure API 管理】

標(biāo)簽: APIM, Policy Limit Rate, rate-limit-by-key

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末落君,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子亭引,更是在濱河造成了極大的恐慌绎速,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件焙蚓,死亡現(xiàn)場離奇詭異纹冤,居然都是意外死亡,警方通過查閱死者的電腦和手機购公,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門萌京,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宏浩,你說我怎么就攤上這事知残。” “怎么了绘闷?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵橡庞,是天一觀的道長。 經(jīng)常有香客問我印蔗,道長扒最,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任华嘹,我火速辦了婚禮吧趣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己强挫,他們只是感情好岔霸,可當(dāng)我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著俯渤,像睡著了一般呆细。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上八匠,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天絮爷,我揣著相機與錄音,去河邊找鬼梨树。 笑死坑夯,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的抡四。 我是一名探鬼主播柜蜈,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼指巡!你這毒婦竟也來了淑履?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤厌处,失蹤者是張志新(化名)和其女友劉穎鳖谈,沒想到半個月后岁疼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體阔涉,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年捷绒,在試婚紗的時候發(fā)現(xiàn)自己被綠了瑰排。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡暖侨,死狀恐怖椭住,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情字逗,我是刑警寧澤京郑,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站葫掉,受9級特大地震影響些举,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜俭厚,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一户魏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦叼丑、人聲如沸关翎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纵寝。三九已至,卻和暖如春星立,著一層夾襖步出監(jiān)牢的瞬間店雅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工贞铣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留闹啦,地道東北人。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓辕坝,卻偏偏與公主長得像窍奋,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子酱畅,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容