High Availability
All computer hardware has limits regarding its performance and reliability, so systems that must process requests from large numbers of users without interruptions are always composed of multiple individual worker machines and dedicated load-balancing nodes that spread the load among those workers.
Linux includes functionality for load balancing and redundancy in the kernel, and multiple user-space daemons manage that built-in functionality and implement additional protocols and features.
In this chapter, we will learn about the following:
- Different types of redundancy and load balancing
- Link and network layer redundancy mechanisms in Linux
- Transport layer load balancing with Linux Virtual Server (LVS)
- Using Keepalived to share a virtual IP address between multiple nodes and automate LVS configuration
- Application layer load-balancing solutions, using HAProxy as an example