eiffel-community / eiffel-remrem-publish

eiffel-remrem-publish
https://eiffel-community.github.io/eiffel-remrem-publish
Apache License 2.0
8 stars 77 forks source link

Handling overload situation in REMReM #249

Open Vaishnavi-Enugala opened 2 years ago

Vaishnavi-Enugala commented 2 years ago

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 commented 2 years ago

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

magnusbaeck commented 2 years ago

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 commented 2 years ago

will check it