ace-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Angelo van der Sijpt (JIRA)" <>
Subject [jira] [Commented] (ACE-388) Add support to send "back-off time" headers.
Date Wed, 02 Oct 2013 06:51:28 GMT


Angelo van der Sijpt commented on ACE-388:

As for 1), what about pushing the back-off mechanism down to the service level, in stead of
applying it at the REST endpoint level? Each kind of transport can have its own mechanism
for communicating back-off to the client, but at the service level, it would probably be sufficient
to allow every service to throw an {{OverloadedException}} or something similar. This seems
like a generic API to me, we can even create a {{BackoffAwareServlet}} base class to help
with that.

For 2), I agree with the whiteboard style mechanism, but allow it to be specific: so,
- the {{DeploymentServlet}} still uses the {{DeploymentProvider}}, but this can throw {{OverloadException}}s,
causing the servlet to send back the back-off header,
- the {{DeploymentProvider}} listens, whiteboard-style, to {{OverloadDetector}} services (or
something by a better name), asking each "is it okay to handle this request for this user."

An alternative would be to register {{OverloadDetector}} services for each endpoint, tying
it to the REST interface we have to the outside world. In my view, this makes less sense,
since an overload is independent of the type of transport that is being used to communicate

> Add support to send "back-off time" headers.
> --------------------------------------------
>                 Key: ACE-388
>                 URL:
>             Project: ACE
>          Issue Type: Task
>          Components: Deployment
>            Reporter: Marcel Offermans
>            Assignee: Angelo van der Sijpt
> Add support to send “back-off time” headers if the server is too busy. Make the “come
back later” time configurable.

This message was sent by Atlassian JIRA

View raw message