Ruby on Rails: escalando su aplicación para un crecimiento rápido

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)
Cada uno de estos servidores varía en sus afirmaciones en términos de velocidad, pero todos pueden manejar miles de solicitudes por minuto. Las aplicaciones de escalado no se basan solo en los tiempos de respuesta. La aplicación puede ralentizarse debido al aumento de las colas de solicitudes. Las colas de solicitudes deben comprobarse primero porque si están vacías, será una pérdida de tiempo y dinero. Esto también se aplica a los hosts trabajadores. Se escalan según la cola de trabajos profunda.

Suscríbete para recibir las últimas actualizaciones

Artículos Relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

es_ESSpanish