- Nico's Newsletter
- Posts
- #5 Load Balancers: Distribución eficaz del tráfico online
#5 Load Balancers: Distribución eficaz del tráfico online
Optimizando el rendimiento y la fiabilidad de tu aplicación utilizando Load Balancers
Hola 👋🏼 espero que esta edición te encuentre muy bien el día de hoy.
Ya es jueves 5 de Octubre, casi Halloween y casi casi navidad 🎅🏼.
El tema que te traigo hoy es lo que mantiene con vida a plataformas como Netflix, Amazon o Facebook.
Estos servicios que manejan millones y millones de usuarios de forma concurrente necesitan una solución para distribuir el tráfico de forma que sus servidores estén siempre al aire funcionando.
Viene atado al tema de construir sistemas resilientes, pero eso es para otra edición de esta newsletter 😂.
El próximo Black Friday
Load balancers
Vamos a entrar en materia utilizando una analogía:
Imagina que eres el gerente de un local de café y es un día en el que el número de clientes superó tu capacidad de gestión, lo que va a ocurrir es que se va a generar una laaaarga cola de espera en donde vas a frustrar a tus clientes y seguramente perderás a muchos de ellos.
Pero ¿Y si mágicamente pudieras duplicar tu local de cafés en cuanto a recursos y dividir tu cola de espera entre dos o más locales? Esto te ayudaría con la atención de más clientes de una forma más eficiente.
Y justo así es como funcionan los “Load balancers” en el mundo real.
En nuestro caso no vamos a entregar cafés si no que vamos a entregar servicios online y cuando llegue mucho tráfico de usuarios el load balancer va a ayudar a distribuirlos en múltiples servidores asegurando que estos no se saturen y revienten.
Ahora, dentro de este ecosistema vamos a encontrar 3 tipos principales de load balancers:
Round Robin: Se van a distribuir las peticiones equitativamente entre los servidores disponibles, por ejemplo, si tienes tres servidores, la primera petición va al Servidor 1, la siguiente al Servidor 2, luego al Servidor 3, y vuelve a empezar.
Least Connections: Dirige el tráfico al servidor menos saturado, así como cuando escogemos la cola del supermercado más corta, este funciona igual.
IP Hash: En función de tu dirección IP se determina que servidor debe gestionar tu petición.
Para finalizar
Los load balancers son los héroes detrás de tus servicios favoritos, pero recuerda que incluso los héroes tienen sus particularidades, en este caso algunas cosas a tomar en cuenta si quieres utilizarlos:
Complejidad: Necesita una planificación cuidadosa y conocimientos bastante especializados, además de que exige una atención regular.
Latencia: Introducir una nueva capa entre la petición y la respuesta, por muy mínima que sea, puede involucrar cierta latencia en la conexión.
Vulnerabilidades: Los load balancers son blancos de ataques DDOS, además de que requiere medidas de vigilancia ya que puede exponer datos confidenciales, incluso haciendo uso de certificados SSL.
Recursos gratuitos
3 Noticias para ti
Nos vemos en la edición #6
Esto es todo por el día de hoy.
Nos vemos en la edición #6.
Espero que estés disfrutando este contenido tanto como yo, cualquier feedback será bien recibido.
Recuerda que si quieres hablar de un tema en particular puedes sugerirlo respondiendo este mismo correo.
Hasta pronto, Nicolás Leal.