Skip to content

Load Controller for Servers and ApplicationsΒ #128561

@Sivasundar-1982

Description

@Sivasundar-1982

Feature or enhancement

Proposal:

Respected Python Team, This is an idea which popped up (Though we load balancers in CLOUDs, we do see an attack or an ad-hoc load). With the below proposal if we could implement it, would be of a great help. Thanks.

Problem:
No way of identifying the system which overloads instantly
No way of pausing that traffic to avoid an outage
No way of controlling the ingress traffic to ensure the target is unaffected.
With an outage/ Call to work (C2W) raised, The man hours invested will be heavy
The recovering of impacted customers is always challenging
Amount of USH created will be high and would impact the SLAs

Solution:
A logical system or a set of robust code, which flags/identifies the load while the load reaches the threshold limit.
Filtering (not blocking) the request for a stable count ensuring the target is not impacted.
Asynchronous response sent to the source with an alarm of the load for a specific span of time
If load continuous, a temporary flag raised to block the ingress traffic from that source.
All the other interfaces/Sources will work as BAU

Detailed Solution:
Requisites of the system:
This Shielding system/Service [ Load controller ] which receives the load, should have a preconfigured 'priority tag' for all the invoking ingress interfaces.
The priority should be given as below:
Any interface which is business critical, mapping to the financial aspects of the application, i.e. - interfaces loading the new order, MACDs (Change orders) should be given a high priority tag.
Any non-critical interface ,i.e. Interfaces/Systems load the Disconnect, Status query, Info invokers, should have a low priority tag assigned in this load controller.
Adding to this,

This shield system should have a mechanism of holding threads/listeners configured for each interface.
The top priority interface should have more threads/listeners allocated.
A separate set of surplus threads should be allowed and to be used depending on the incoming load.
This priority identifier can be a header, or a bit added to the ingress transactions from those interfaces.
This Load Controller should have a threshold limit for all the interfaces.

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    type-featureA feature request or enhancement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions