我们的组织是在迁移到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