Problem with synchronizing spike arrest across MP is that you're already under severe load (in theory) and creating additional chatter between MP in a high load could have impact on the very tool you're using to protect from high load. Therefore your only option in Per Second restrictions is to...

It's not 100% clear from your question, but if you're sending data over a TCP connection, the TCP layer will handle choosing the correct send rate for you, based on observed network performance. Generally your best bet in that case is to simply send() more data whenever the socket indicates...

I am not sure how to implement the ThrottlingInflightPolicy you have setup, but you can implement a route like this that should accomplish your goal. from("jms:queue:EndPoint1?concurrentConsumers=20") .throttle(10) .to("Other_Logic_Or_Routing"); Notes: maxInflightExchanges can be controlled by simply lowering concurrentConsumers to 20 Throttle component can ensure that your messaging rate does not exceed...

Put this at the top level of your file so as not to confuse yourself with Swift's funny parameter name rules. Notice that I've deleted the # so that now none of the parameters have names: func debounce( delay:NSTimeInterval, queue:dispatch_queue_t, action: (()->()) ) -> ()->() { var lastFireTime:dispatch_time_t = 0...

Found the issue! It turns out that Node.js doesn't like you passing a decimal to setTimeout! Rounding off the decimal fixed the issue. if( sleepTime>0 ) { setTimeout( passMe, sleepTime|0 ); } else { passMe(); } Let me know if this code is useful to anybody. If it is I...

SpikeArrest has no ability to be distributed across message processors. It is generally used for stopping large bursts of traffic, not controlling traffic at the levels you are suggesting (3 calls per minute). You generally put it in the Proxy Request Preflow and abort if the traffic is too high....

You can use any of the predefined variables: http://apigee.com/docs/api-services/api/variables-reference The variable that is probably the most commonly used for Spike Arrest is client.ip. Edge will make all elements of a request message available. If your clients are adding a client_id (aka API key) to a request as a query parameter,...