Need to understand how traffic management of APIGEE works. I am giving a example to understand how APIGEE team is currently handling this thing.
For example:
RE 1,2
- Where does this capacity come from?
- Why are you assigning a TPS to a particular proxy?
RE 3,4
Spike Arrest is intended to prevent burst of traffic reaching your backend.
You could configure it to use your developer/app as an identifier, and you can do the same for Quota
RE 5
Quota is intended to provide a way to enforce number of requests over time. I don't see how it's relevant in a "capacity" question
Every system has a capacity limitation based on assigned infra and peripheral facts. We can not design a system with unlimited capacity. What I am trying to say if we have a APIGEE system which can handle 1000 Transactions per second then how we need to assign Spike Arrest on user or app level instead of putting SA on proxy level.
If you have any document how to configure SA on app/user level, please refer me to the link. I got your point on the quota policy.
Thanks
If you want to have different Spike Arrest value for different Applications, Applications are linked with products. So we can use ATTRIBUTES in PRODUCTS.
Define the spike arrest rate value in attributes fields of product.
In proxy level before spike arrest we can get this attributes value through apikey or OAuth flow variables and use that in Spike Arrest dynamically.
If you are validating with an API Key, then you can do the following...
<SpikeArrest name="MySpikeArrest"> <Rate ref="verifyapikey.{policy_name}.apiproduct.{custom_attrib_name}"/> </SpikeArrest>
If you are using OAuth you can use...
<SpikeArrest name="MySpikeArrest"> <Rate ref="apiproduct.{custom_attribute_name}"/> </SpikeArrest>