-
-
Notifications
You must be signed in to change notification settings - Fork 33.2k
Description
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