[
https://issues.apache.org/jira/browse/ACE-388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13783706#comment-13783706
]
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 it.
> Add support to send "back-off time" headers.
> --------------------------------------------
>
> Key: ACE-388
> URL: https://issues.apache.org/jira/browse/ACE-388
> 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
(v6.1#6144)