Un equilibrador de carga permite distribuir dinámicamente el tráfico de red entre los recursos (locales o en la nube) para dar soporte a una aplicación.
Un equilibrador de carga es una solución que actúa como un proxy de tráfico y distribuye el flujo de red o de aplicaciones entre los puntos de conexión de varios servidores. Su principal función es equilibrar la capacidad durante los picos de tráfico y mejorar la fiabilidad de las aplicaciones. Al reducir la carga en servicios o nubes individuales, optimizan el rendimiento general de las aplicaciones. Además, distribuyen la demanda entre distintas superficies de computación, lo que ayuda a mantener la continuidad de las sesiones tanto de aplicaciones como de red.
Las aplicaciones modernas deben procesar millones de sesiones simultáneamente y devolver a cada usuario el texto, los vídeos, las imágenes y otros datos correctos de forma rápida y fiable. Para gestionar volúmenes de tráfico tan elevados, la mayoría de las aplicaciones tienen muchos servidores de recursos con datos duplicados entre ellos.
Load balancing distributes network traffic dynamically across a network of resources that support an application. A load balancer is the device or service that sits between the user and the server group and acts as an invisible facilitator, ensuring that all resource servers are used equally. A load balancer helps increase reliability and availability, even in times of high usage and demand, and ensures more uptime and a better user experience.
In some cases, it is essential that all requests from a client are sent to the same server for the duration of a session, for example when a client is putting items in a shopping cart and then completing the purchase. Maintaining the connection between client and server is known as session persistence. Without session persistence, information has to be synchronized across servers and potentially fetched multiple times, creating performance inefficiencies.
Los usuarios y clientes dependen de una capacidad casi en tiempo real para encontrar información y realizar transacciones. Los tiempos de espera o las respuestas poco fiables e incoherentes —incluso en los momentos de mayor demanda y uso— pueden alejar a un cliente para siempre. Y los picos elevados de necesidad de computación pueden causar estragos en un servidor interno o en un sistema de servidores si la demanda entrante —o «carga»— es demasiado alta para gestionarse con facilidad.
Advantages of using a load balancer include:
Existen dos tipos de algoritmos de equilibrado de carga según su funcionamiento: estáticos y dinámicos. El equilibrado de carga estático mide la carga entrante utilizando algoritmos que cuentan con información sobre la capacidad de rendimiento de los servidores en la red distribuida. Por su parte, el equilibrado de carga dinámico identifica de manera dinámica, durante el tiempo de ejecución, la cantidad de carga que debe redistribuirse y el sistema que debe asumirla. Está diseñado para entornos con grandes fluctuaciones en la carga entrante.
Los siguientes son algunos de los tipos comunes de algoritmos de equilibrio de carga.
El equilibrio de carga responde estática o dinámicamente a la solicitud de un usuario y la distribuye a uno de los servidores back-end capaces de satisfacerla. Si uno de los servidores se cae, el equilibrador de carga redirige el tráfico al resto de servidores en línea.
An example of static load balancing: A company hosts a website with content that is largely static. This scenario would be ideal for a static load balancer because the traffic needs are predictable and consistent. The company can use two (or more) identical web servers across which the static load balancer can distribute traffic.
An example of dynamic load balancing: A company experiences surges, spikes, and drops in traffic. Some are predictable and some are not. These organizations would benefit from dynamic load balancing. Such companies might include an e-commerce retailer announcing Black Friday hours and dates; a healthcare company which has just announced it can schedule online appointments for a seasonal vaccine; a government unemployment agency which requires unemployment insurance recipients to file a weekly claim on a certain day of the week; a relief organization that may need to respond quickly online to a natural disaster. Some of these surges and spikes in traffic and demand can be planned for, but some cannot. In these scenarios, a dynamic load balancing algorithm will help ensure access to apps and resources when customers and users need them most.
Different types of load balancers with different capabilities reside in the architecture called the Open System Interconnection (OSI) model. In this model are seven layers. Network firewalls are at levels one to three (L1-physical wiring, L2-data link and L3-network). Meanwhile, load balancing happens at layers four to seven (L4-transport, L5-session, L6-presentation and L7-application). Load balancers are generally used at Layer 4 and Layer 7.
Cloud-based load balancers are not just traffic controllers for spikes in traffic and for optimizing server use. Cloud-native load balancers can also provide predictive analytics to help you visualize traffic bottlenecks before they happen. That in turn delivers actionable insights to help any company optimize its IT solutions.
Application Load Balancing: As enterprises rely more and more on application performance and availability, application load balancing can help them scale, streamline operations, and save money.
Global Server Load Balancing: With users and customers around the world, companies can enhance their load availability with global server load balancing, which sends users to the nearest endpoint to them.
DNS Load Balancing: The practice of configuring a domain in the Domain Name System (DNS) so that user requests to the domain are distributed across a group of server machines is called DNS load balancing.
Network Load Balancing: Application delivery controllers (ADCs), physical or virtual appliances functioning as proxies for physical servers, manage application or network functions, and rely on a network load balancing solution to support them. ADCs also use other techniques, including caching, compression, and offloading of SSL processing, to improve the performance of web applications. In the usual configuration, the ADC sits in front of a group of web and application servers and mediates requests and responses between them and their clients, effectively making the group look like a single virtual server to the end user.
HTTP(S) Load Balancing: The technique for distributing traffic across multiple web or application server groups to optimize resource utilization is called HTTP(S) load balancing.
Internal Load Balancing: An internal load balancer is assigned to a private subnet and does not have a public IP. It typically works within a server farm.
Diameter: A diameter load balancer distributes signaling traffic across multiple servers in a network. One of the most cost-effective ways to do this is to scale the diameter control plane rather than the data transport layer. (Diameter load balancing can also be static or dynamic.)
Existen otros tipos de soluciones de equilibradores de carga, que pueden utilizarse solos o en una red con equilibradores de carga nativos de la nube. A continuación se indican algunos tipos destacados.
Hardware Load Balancer: A hardware load balancer is a physical device with a specialized operating system that can be programmed to distribute web traffic across several application servers, usually on-premises.
Software Load Balancer: A software load balancer operates like a physical load balancer, but it runs on software programs. The software keeps apps available through all kinds of traffic demands, using both static and dynamic load balancing to eliminate single points of failure.
Virtual Load Balancer: A type of load balancer that combines hardware and software load balancers is a virtual load balancer. It uses application delivery controller software that helps to distribute network traffic load among hardware backend servers.
DOCUMENTACIÓN TÉCNICA
Load Balancing 101: Nuts and Bolts ›
CASOS DE USO
Load Balancing Your Applications ›
glosario
What Is a Diameter Load Balancer? ›
DOCUMENTACIÓN TÉCNICA
Load Balancing on AWS: Know Your Options ›
DOCUMENTACIÓN TÉCNICA
Load Balancing 101: The Evolution to ADCs ›