Load Balancing vs Load Leveling vs Load Shedding
Techniques to Optimize and Protect System Performance
They might all deal with 'load,' but balancing it, leveling it, and shedding it are totally different stories when it comes to keeping systems running smoothly.
Load Balancing
Spreads incoming traffic across nodes to avoid bottlenecks.
Load Balancing is the process of distributing incoming network traffic across multiple servers. It ensures no single server becomes overwhelmed.
๐๐ฒ๐ป๐ฒ๐ณ๐ถ๐๐
โ Evenly distributes requests to ensure consistent response times.
โ Scales horizontally during peak hours (e.g., market open/close).
โ Prevents single points of failure with smart routing.
๐ช๐ต๐ ๐๐ ๐ ๐ฎ๐๐๐ฒ๐ฟ๐
It distributes traffic across servers to prevent overload and maintain steady performance. Smart routing helps avoid bottlenecks and critical failures. It works best when resources are healthy and scalable.
Load Leveling
Smooths out spikes by queuing work for later processing.
Load Leveling is the process of managing peaks in demand by buffering and smoothing out request flows across time. It helps prevent service overload and ensures stable performance, especially during fluctuating or high-traffic periods.
๐๐ฒ๐ป๐ฒ๐ณ๐ถ๐๐
โ Buffers request peaks to avoid overload.
โ Decouples services for better modularity(order matching from settlement).
โ Helps manage delays in a way that doesn't harm long-term system health.
๐ช๐ต๐ ๐๐ ๐ ๐ฎ๐๐๐ฒ๐ฟ๐
It buffers incoming requests to ensure a smooth flow and reduce the risk of system failure during traffic spikes. With appropriate delays, services can handle load efficiently without harming performance.
Load Shedding
Drops non-critical requests to keep the core alive.
Load Shedding is when a system reduces incoming tasks to avoid overload. It helps keep important functions running by delaying or dropping less critical tasks.
๐๐ฒ๐ป๐ฒ๐ณ๐ถ๐๐
โ Protects the system from crashing during peak load times.
โ Keeps critical services available while dropping non-essential tasks.
โ Helps manage resource usage in high-stress scenarios.
๐ช๐ต๐ ๐๐ ๐ ๐ฎ๐๐๐ฒ๐ฟ๐
It helps keep the system stable by dropping or delaying less important tasks when it's too busy, avoiding a complete failure. It makes sure to prioritize essential tasks to avoid critical service interruptions.
Where It All Comes Together
In a stock exchange system:
โข Balance incoming traffic to keep nodes healthy.
โข Shed non-critical updates during volatile spikes.
โข Level settlement processing using queues to avoid crash.
Where Teams Often Get It Wrong
โข Relying only on balancing - when all nodes are overloaded, it fails.
โข Over-shedding - leads to lost revenue and frustrated users.
โข Leveling without limits - queues grow endlessly, latency explodes.
Load isnโt the problem. Mismanaging it is.