我們的組織是在遷移到Apigee的過程。Apigee節流方案
我們要實現什麼是以下情形。你能告訴我怎麼做嗎? 也許一起使用SpikeArrest,Quota和ConcurrentRatelimit?
我想問一個代理的實際例子配置,引導線如何鏈接的政策,以達到預期的效果。
我經歷過的文檔,並在一定程度上脫脂,有差距,至於什麼是分佈式的,什麼不是,等
http://apigee.com/docs/api-services/content/shield-apis-using-spikearrest
http://apigee.com/docs/api-services/content/rate-limit-api-traffic-using-quota#identifying-apps
http://apigee.com/docs/api-services/content/throttle-backend-connections-using-concurrentratelimit
一個例子差距是我以前的約SpikeArrest,其中的問題喚起如配置SpikeArrest並沒有得到預期的行爲,因爲,在載文它不是指定SpikeArrests未分配的事實的結果: Apigee SpikeArrest Sync Across MessageProcessors (MPs)
這些人也受到了相同的情況下抓出來: Apigee - SpikeArrest behavior
方案和期望的結果:
在我們的組織,我們有6 MessageProcessors(MP),我以爲他們是在嚴格的循環方式工作。
我們有以下後端API - API-1。
Api-1從我們公司內部的Apigee消費者那裏獲得消費者。 我們想要阻止我們的Api-1受到打擊並且正在關閉。 可以說它已經被加載測試,每秒最多需要50個請求。 我們的計算,通過Apigee我們要以最大每秒30所要求的限制,每秒能力等20個請求是針對用戶從我們的組織(主要是我們自己的其他產品)不經過內Apigee。
從通過Apigee使用Api-1的DeveloperApp數量來看,我們確定了4個應用/客戶端,它們的消費峯值最高。 走出30PS率分配給Apigee的,我們希望能夠能夠分配5馬力爲這些4高消費 DevApps /客戶端,並有其餘10馬力率之間共享其他DevApps /客戶。
主要的問題我一直在TargetEndpoint得到的是這裏所描述的一個,因爲SpikeArrest政策不能跨MessageProcessors分佈:Apigee SpikeArrest Sync Across MessageProcessors (MPs)
我們怎樣才能解決,並達到所需的方案?
這裏是什麼,我曾試圖嘗試,並達到預期的行爲的例子:
TargetEndpoint代理的:
ConcurrentRatelimit:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConcurrentRatelimit async="true" continueOnError="false" enabled="true" name="Concurrent-Rate-Limit-1">
<DisplayName>Concurrent Rate Limit 1</DisplayName>
<AllowConnections count="1" ttl="5"/>
<Distributed>true</Distributed>
<TargetIdentifier name="default"></TargetIdentifier>
</ConcurrentRatelimit>
SpikeArrest :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SpikeArrest async="true" continueOnError="false" enabled="true" name="Spike-Arrest-2">
<DisplayName>Spike Arrest 2</DisplayName>
<FaultRules/>
<Properties/>
<Identifier ref="request.header.some-header-name"/>
<MessageWeight ref="request.header.weight"/>
<Rate>30ps</Rate>
</SpikeArrest>
另外如果組織在不知情的情況下添加或刪除MP會發生什麼情況,這會完全擾亂節流?
非常感謝!
謝謝!
您是否嘗試過將其除以已知消息處理器的數量?也就是說,如果你有 –
那是我目前的解決方案。目前我的秒殺被設定爲5ps(30ps/6mp = 5ps)。我正在尋找一個更好的解決方案,就好像出於任何原因,數字需要變得非常低,據我所知,你不能在SpikeArrest上放置0.5ps的速率。 – AKuzma