Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handling overload situation in REMReM #249

Open
Vaishnavi-Enugala opened this issue Aug 24, 2022 · 3 comments
Open

Handling overload situation in REMReM #249

Vaishnavi-Enugala opened this issue Aug 24, 2022 · 3 comments

Comments

@Vaishnavi-Enugala
Copy link
Contributor

Description

If a situation occurs where defined capacity limits is exceeded,
investigation needs to be done how to handle or refuse new requests and reply with suitable error-code when in an overload situation.The most common overload situation the we might run in REMReM is the depletion of Tomcat threads.

Motivation

REMReM should Know its capacity limits and it should refuse or handle new requests if over or close to limit with proper mechanism.

Exemplification

Under normal working conditions we did not observe the threadpool being depleted, however if we introduce a failure like blocking REMReM from accessing MB it was possible to use up all the Tomcat threads.
When this happens, REMReM stops responding to new requests.

Benefits

Warn users and operators before hitting the max capacity

Possible Drawbacks

not aware of any

@Vaishnavi-Enugala
Copy link
Contributor Author

Vaishnavi-Enugala commented Aug 24, 2022

I came across load balancing solution would be preferably good for this issue , below is the pictorial view of idea.
LOADBALANCING drawio

@magnusbaeck
Copy link
Member

Given the stateless nature of this application there's no reason to build load balancing into the application. Just use any HTTP-based load balancer.

@Vaishnavi-Enugala
Copy link
Contributor Author

will check it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants