disable southbound traffic for too many errors

Hi,

We have an API which have a specific requirement.

If there are more than 10 errors per minute in API target response, reduce the southbound traffic to 1 request per min for next 1 hour

This to to prevent backend/target/southbound system to be clogged with too many errors.

Any help ? 🙂 

0 2 99
2 REPLIES 2

You can use a HealthMonitor with a targetserver.  Have you looked into these things?  They have been part of Apigee for a long time and they are designed to solve the general problem of monitoring the health of backend systems and intelligently responding to "back-pressure" from unhealthy backends. 

 

As far as the specific behavior you described, the rate of requests you are proposing, a maximum of 1 request per minute for the next 1 hour, .... you cannot configure the Apigee health monitor to behave exactly that way. You CAN configure an out-of-band healthcheck, as well as an interval on which to send that healthcheck.  Consult the documentation I linked to above for the full details.

This may be sufficient for your needs. If you really need tighter control over how often the communication happens between Apigee and the upstream system, in other words if you REALLY need it to send a maximum of just 1 request per minute over the next 1 hour after a failure is detected, then Apigee alone will not satisfy.  In this case, you will need to insert another facade system that lies between those two endpoints, to deliver that exact behavior. And that facade system will keep the counts and timing and so on.  But, I would advise avoiding investing effort in building this system yourself.  You probably don't want to divert engineering resources into building such a thing, because this would take engineering resources away from the actual thing you're trying to deliver, whatever is important for your business. Another alternative is to buy a network hardware device which has health monitoring capability, and insert THAT device between Apigee and the upstream systems. It's possible you'd be able to find a hardware device that can be configured to deliver the exact semantics you describe. That won't work for cloud-based systems though, so that's also probably not ideal.

Maybe the existing Apigee healthmonitor will be satisfactory for you.   Check it out.

 

@dchiesa1  , thats great,  i mean regarding the HealthMonitor with TargetServer.

I will try it out. However i am using OPDK 4.51 . I hope it will work with OPDK also.

 

 

Regarding the hardware, we will not be able to purchase it, especially in a limited time frame that i have.

 

Thanks