Load Shedding
From HandWiki
Load Shedding is a technique used in information systems, especially web services, to avoid overloading the system and making it unavailable for all users. The idea is to ignore some requests rather than crashing a system and making it fail to serve any request.
Considerations shaping the design of load shedding algorithms include:
- when one of several load balanced servers becomes unavailable due to overload, all other servers will receive a higher load, potentially leading to more overload and a snow-ball effect which takes down the entire system.
- when one part in a system of microservices starts becoming slower due to high load, other services will have waiting requests queuing up, potentially more than fits in their memory, which could again take down the entire system.
A popular open-source tool for defending against delays in downstream systems is Hystrix [1].
References
- Site Reliability Engineering: How Google Runs Production Systems, Edited by Betsy Beyer, Chris Jones, Jennifer Petoff and Niall Richard Murphy, O'Reilly 2016, ISBN:9781491929124
- System Support for Large-scale Internet Services, Jingyu Zhou, PhD thesis, University of California, Santa Barbara, 2006
- Handling Overload Conditions In High Performance Trustworthy Information Retrieval Systems, Sumalatha Ramachandran, Sharon Joseph, Sujaya Paulraj, Vetriselvi Ramaraj, Journal of Computing, Volume 2, Issue 4, April 2010, ISSN 2151-9617
- Load Shedding Techniques for Data Stream Systems, Brian Babcock, Mayur Datar, Rajeev Motwani