¿Puede Laravel manejar aplicaciones de alto tráfico?

TL; DR

Comience con Laravel, cree su aplicación, escale cuando sea necesario. La aplicación escrita en Laravel (de la manera correcta) debería ser capaz de manejar mucho tráfico. Una vez que superas a Laravel y comienzas a escribir servicios personalizados, has tenido éxito mate mate

Versión más larga

Te sugiero que vayas con Laravel si aún no tienes componentes para tu aplicación. Hacer todo desde cero (por primera vez) lleva mucho tiempo.

Puede agregar caché de capa de aplicación (por ejemplo, Redis) y caché frontal (por ejemplo, Varnish) en su aplicación sin importar el marco que esté utilizando. Laravel tiene muchas características que puede usar de fábrica, pero aún así, si lo desea, puede escribir partes personalizadas (para mejorar el rendimiento).

Ejemplo: constructores de consultas e hidrataciones

Sus vistas de lista probablemente se vuelvan lentas una vez que su base de datos crezca, pero en lugar de trabajar con objetos y obligar a su aplicación a hidratar el conjunto de resultados, siempre puede escribir consultas SQL óptimas y / o trabajar con matrices en su lugar. Si está usando solo 1 o 2 campos en un modelo, ¿por qué cargar todo el objeto?

Caché y ESI

Hay partes de su aplicación que no cambian mucho: componentes como encabezado, pie de página, navegación y otros elementos que no están relacionados con el usuario actual que ha iniciado sesión. Puede almacenarlos en caché. Además, puede usar ESI para componer su aplicación a partir de bloques que se almacenan en caché en una base de tiempo diferente.

Busque Varnish, es un excelente motor de caché, increíblemente rápido y fácil de usar. Puede utilizar la memoria caché basada en el tiempo, pero también etiquetar elementos almacenados en caché e invalidarlos cuando se modifiquen los datos.

Construir, medir, aprender

Sea delgado, cree su MVP, mida y encuentre cuellos de botella y luego mejore su sistema. Si su objetivo es crear una aplicación de alto tráfico en la primera oportunidad, probablemente terminará con un producto nunca terminado. ¡Envíe pequeño y envíelo rápido!

¡Buena suerte!

Primero, cree su aplicación, hágalo correctamente, luego preocúpese por el rendimiento y los marcos. Si no está seguro de su marco, tenga cuidado de desacoplar su aplicación del marco.

Los marcos PHP como Laravel, Symfony, Zend, etc., todos escalan bien. Si no lo hacen, es porque tienes A. Un caso de uso muy específico para el que PHP es muy malo y a una escala muy intensa, B. (muy probablemente) lo hiciste mal.

Si no lo hace en este orden, lo que sucederá es que optimizará demasiado prematuramente y no podrá entregar la aplicación que quería hacer.

Cualquier marco o lenguaje NO PUEDE manejar mucho tráfico si no se crea bien.

A menudo me contratan para arreglar proyectos como este: los creadores originales no están muy bien pensando en el crecimiento, el sitio web está bien cuando hacen una demostración del cliente, pero cuando el crecimiento del proyecto el sitio web va muy lento.

Por lo tanto, no piense en lo que hace el marco: comience a pensar cómo va a construirlo.

No haga bucles para todo; de hecho, casi siempre debe tener bucles solo cuando muestra resultados en las vistas; todo lo demás debe provenir del DB o del caché.