Please log in to watch this conference skillscast.
Load balancing is something most of you assume is a solved problem. But the idea that load balancing is "solved" could not be further from the truth. If you use multiple load balancers, the problem is even worse. Most of you use "random" or "round-robin" techniques, which have certain advantages but are highly inefficient. Others use more complex algorithms like "least-conns," which can be more efficient but have horrific edge cases. "Consistent hashing" is a very useful technique, but only applies to certain problems. T
here are several factors that exist both in theory and practice that make efficient load balancing an exceptionally hard problem. For instance:
Poisson request arrival times;
Exponentially distributed response latency;
Oscillations when sharing data between multiple load balancers .
You will explore techniques and algorithms such as Randomized Least-conns, Join-Idle-Queue, and Load Interpretation. Load balancing perfectly may be impossible in the real world, but you can do better than “random,” “round-robin,” and naive “least-conns”.
You will walk away with an understanding of why traditional load balancing techniques are sub-optimal, practical techniques for improving it, as well as longer term theoretical approaches. You will also learn what makes load balancing such a difficult problem and why it's impossible to solve precisely.
YOU MAY ALSO LIKE:
- Microservices from the very start with Russel Winder! (in London on 26th June 2017)
- Infiniteconf 2017 - the conference on Big Data and Fast Data (in London on 6th - 7th July 2017)
- Masterclass: Reducing Technical Debt with Michael C. Feathers (in London on 21st - 22nd August 2017)
- Uncle Bob's Clean Code: Agile Software Craftsmanship (in London on 1st - 3rd November 2017)
Load Balancing is Impossible
Tyler McMullen is CTO at Fastly, where he’s responsible for the system architecture and leads the company’s technology vision. As part of the founding team, Tyler built the first versions of Fastly’s Instant Purging system, API, and Real-time Analytics. Before Fastly, Tyler worked on text analysis and recommendations at Scribd. A self-described technology curmudgeon, he has experience in everything from web design to kernel development, and loathes all of it. Especially distributed systems.