Is the Concurrent Rate Limit Policy applied only at API Proxy level or also at API Product level like we have Quota Policy ?
Also suppose I have three API Proxies AP1, AP2, AP3 pointing to same backend having concurrent rate limit as 2,3,4 respectively then how it will behave ?
Does the total of 9 (2+3+4) concurrent hits are allowed for this backend coming from any of the AP1,AP2,AP3 ?
So will it start throwing error after 2nd concurrent hit to AP1 or after 10th concurrent hit to AP1 ?
Is the Concurrent Rate Limit Policy applied only at API Proxy level or also at API Product level like we have Quota Policy ?
It’s applied at API Proxy level. It doesn’t have any identifier element like in Quota to maintain separate counters.
But, You can have multiple Concurrent Rate Limit Policies which can be conditionally executed based on your requirement inside single proxy. It should work, never tried though.
Also suppose I have three API Proxies AP1, AP2, AP3 pointing to same backend having concurrent rate limit as 2,3,4 respectively then how it will behave?
It’s proxy specific since we have applied on the proxy level.
More than 2 concurrent connection on AP1 is rejected,
More than 3 concurrent connection on AP2 is rejected,
More than 4 concurrent connection on AP3 is rejected,
Does the total of 9 (2+3+4) concurrent hits are allowed for this backend coming from any of the AP1,AP2,AP3 ?
Again, It’s proxy specific. Yes, At a time, Target is allowed to receive a total of 9 concurrent connections.
So will it start throwing error after 2nd concurrent hit to AP1 or after 10th concurrent hit to AP1 ?
It will start throwing error after 2nd concurrent hit to AP1.
PS: Actual allowed numbers depends on number of message processors. Trial org by default has 2 message processors. For strict counters set distributed to true & check strict on ttl. For more details refer Policy Documentation .
In your reply you have mentioned that “Actual allowed numbers depends on number of message processors” . Can you please let me know the limit per message Processor and is there any property that needs to be set ?