Hello,
Just to clarify,
you want to throttle or shape load, depending on backend behavior, but the threshold is a dynamic value, which is determined by the backend?
1. How does the backend plan to let us know what that value is?
We have a few assertions ( Apply Rate Limit and Apply Throughput Quota ), that can be used to throttle traffic, depending on specifics.
Both can take a Context variable in regards to what the threshold could be.
The fancy part here is determining how that context variable gets updated, on what basis invokes an update, etc. etc.
2. Can the backend Populate a Custom HTTP header? ( I'm assuming this is too much logic on the backend and the answer is 'NO' )
Another idea that comes to mind is having predefined thresholds, ( You should have a good idea what your thresholds are ), and in you Policy Logic, you would (throttle/shape) based on another value, maybe time of day or some prepopulated variable somewhere?
Chapter 9 of the 'Layer 7 Policy Authoring User Manual.pdf' starts off will these two assertions for your reference.( It has some nice specifics on how to use the assertion and what context variables it uses and is populated)
Remember, Throttling will fail requests if the threshold is breached and Shape will queue the thread. (be careful with shape, as if your threshold is too low, and your queue depth is too high, you can run up your thread usage as well as memory)
Reply back with what you are planning and we should be able to guide you in the right direction.
hope this helps,
Doyle