Misael Chávez
465 posts

Misael Chávez
@misael_23
👨🏻💻 iOS SWE @Lyft 🇲🇽






Cuando tu aplicación recibe miles de usuarios, un solo servidor no te alcanza. Podes crecer de 2 formas: 1) verticalmente: más CPU o RAM al servidor (es caro y tiene un límite). 2) horizontalmente: agregar más servidores. La segunda te da escala, pero trae un nuevo problema: ¿a qué servidor debería ir cada request? Ahí aparece un Load Balancer: un componente que reparte el tráfico entre tus servidores usando distintos algoritmos. Si "A" se cae, lo detecta y deja de enviarle tráfico. Ahora, cada servidor corre una copia de tu app. Y como el tráfico está repartido, podes atender más usuarios sin saturar uno solo. Pero ahora el cuello de botella se mueve: si todos los servidores consultan la misma base de datos, esa base se satura. La solución: agregar réplicas para lectura y un cache para reducir carga. Pero si agregas réplicas: ¿cómo te aseguras de que la data siempre esté sincronizada? Y así es como evoluciona la arquitectura: resolviendo un problema a la vez. Diseñar sistemas es justamente eso: entender dónde están los cuellos de botella y qué necesitas para que tu aplicación siga creciendo.



























