Ampliar el crecimiento de una aplicación ha sido un tema realmente intimidante hoy en día. La mayoría de los recursos de Internet y publicaciones de blogs giran en torno al escalamiento de aplicaciones Ruby. Es muy interesante saber cuál es el techo y cuánto puede alcanzar Ruby on Rails para el rápido crecimiento de las aplicaciones.
El escalado aumenta no por la velocidad sino por el rendimiento
Los hosts escalables solo están acelerando los tiempos de respuesta cuando las solicitudes han pasado mucho tiempo esperando a ser atendidas por las aplicaciones. Si no hay solicitudes existentes esperando servicio, el escalado resulta ser simplemente una pérdida de dinero. Ruby on Rails escala las aplicaciones correctamente desde 1 hasta 1000 solicitudes por minuto y lo importante que necesitamos saber sobre este proceso de escalado es cuánto funcionan realmente el enrutamiento HTTP y los servidores de aplicaciones.
¿Cómo se enrutan las solicitudes a los servidores de aplicaciones?
Una decisión importante a tomar en términos de escalar una aplicación web con Ruby es el tipo de servidor de aplicaciones que debe elegir. La mayoría de las publicaciones de escalado de Ruby pueden estar desactualizadas debido al cambio dramático que ocurrió durante los últimos 5 años y el cambio vertiginoso del año pasado. Sin embargo, todavía entendemos las ventajas existentes de cada elección de servidor de aplicaciones. Simplemente tenemos que tener más conocimientos sobre cómo se enrutan estas solicitudes a dichos servidores de aplicaciones. Muchos desarrolladores todavía tienen poca comprensión del proceso exacto de cómo se ponen en cola y enrutan estas solicitudes.
Ciclo de vida de las solicitudes
Una vez que llega una solicitud a su aplicación Heroku, el primer lugar donde se detiene es el balanceador de carga. El trabajo de un equilibrador de carga es garantizar que la carga entre los enrutadores de Heroku se distribuya de manera uniforme. Este equilibrador de carga pasará la solicitud a cualquiera de los enrutadores que sea mejor para ello. Hay una enorme cantidad de enrutadores Heroku no revelados y podemos asumir ahora que el número es bastante grande, aproximadamente por encima de 100. El trabajo de los enrutadores es realizar los dinamómetros de la aplicación y pasar la solicitud a un determinado dinamómetro. La localización de los dinamómetros puede llevar de uno a cinco minutos y los enrutadores intentarán conectarse con un dinamómetro aleatorio en la aplicación. Cuando Heroku ya eligió un banco de pruebas aleatorio, espera cinco segundos hasta que el banco de pruebas reclame la solicitud y establezca una conexión abierta. Mientras la solicitud espera, se colocará en la cola de solicitudes del enrutador.
Opciones de servidor de aplicaciones
- Webrick
- Delgado
- Unicornio
- Phusion Pasajero 5
- Puma (roscado)
- Puma (agrupado)
Suscríbete para recibir las últimas actualizaciones
Artículos Relacionados