¿Es Laravel una opción apropiada para una gran red social?

Soy un fanático del rendimiento total. Estamos haciendo mucho por un buen rendimiento, ya que es la primera impresión que hace su empresa o aplicación y todavía estamos muy lejos del rendimiento que queremos que tenga. ¿Y sabes qué? Estamos sentados en el mismo barco construyendo una red social con características como … FB, TW … etc.

TL; DR: Laravel es lo suficientemente rápido, para ti, por ahora, en 1 millón. usuarios. Si no, use Lumen, que se encuentra dentro del mismo ecosistema agradable con una comunidad de conducción y que es aproximadamente un 25% más rápido que Laravel. Si le gusta el rendimiento como nosotros, demonios, haga que su aplicación sea escalable mediante el uso de microservicios en AWS y combine fácilmente Laravel y Lumen según sus necesidades. En general, recomendaría usar Laravel porque es flexible y tiene una gran comunidad.

* advertencia: consejos de inicio 101 *

No haga que el rendimiento sea su foco principal cuando el rendimiento no es su problema.

El único rendimiento que debe tener en cuenta es el rendimiento de su equipo de desarrollo y su capacidad de tener ciclos de lanzamiento cortos. Con un proyecto tan grande en mente, enfrentará un problema de arquitectura de software desde el principio. Tendrá que decidir lanzar de forma rápida y sucia un MVP o incluso una versión beta y avanzar en el concepto y la validación del mercado y dejar que su arquitectura evolucione a través de la refactorización continua. O si desea construir esta gran cosa que escala incluso si no tiene que hacerlo. Resumen, incluso código agnóstico de marco, que tiene múltiples microservicios distribuidos en AWS, etc. Puede hacer muuuucho que no le permitirá crecer y no le permitirá fallar lo suficientemente rápido como para hacerlo bien.

El rendimiento de sus aplicaciones sufrirá el uso falso / faltante del almacenamiento en caché y los índices de bases de datos que elegir el marco incorrecto.

Si desea un marco realmente rápido, use Phalcon, pero como se dijo, eso no significa que realmente lo haga más rápido. Y si su equipo de desarrollo es más lento de lo que podría ser, menos tiempo tendrá para mejorar el rendimiento general y percibido a través de otras tareas (como introducir un CDN, por ejemplo).

Los marcos son una compensación entre el rendimiento (más código = código más lento = más uso de memoria = menos usuarios por instancia (sí, estoy generalizando, pero es cierto, los marcos son genéricos y usted paga multas por eso)) frente a la velocidad de desarrollo y facilidad de mantenimiento.

Debe decidir dónde se encuentran las prioridades para su equipo. Si la velocidad de desarrollo es más importante, elija el marco. Si la facilidad de desarrollo de características es importante, elija el marco.

El aspecto del rendimiento es algo que necesitará monitorear. ¿Cuántas consultas se requieren para cargar una página? ¿Cuánto de eso se puede almacenar en caché para evitar golpear la base de datos? ¿Cuánto de ese trabajo debe hacerse en el cliente versus hacerlo todo en el servidor?

Entonces entras en el crecimiento del sitio. ¿Cómo va a escalar esta arquitectura? ¿Cuáles serán sus costos de alojamiento y cómo crecerán? Lo más importante, ¿cómo va a monetizar el sitio? Necesita flujo de caja para pagar las facturas.

Laravel, o cualquier marco, es una pequeña elección. Una vez que el sitio crezca más allá de cierto tamaño, tendrá problemas de escala. Puede implicar reescribir el código o cambiar a Hack como lo hizo Facebook. Sugeriría escribir su código de una manera independiente del marco (no codifique usted mismo. Haga su código independiente del marco) para que pueda cambiar el marco por otro con la menor cantidad de esfuerzo.

Yo diré que sí. Laravel es el marco PHP más potente diseñado específicamente para proporcionar un servicio más rápido entre el usuario y el servidor. Estoy usando Laravel desde hace 2 años para manejar varias operaciones de base de datos y ver.

Laravel es básicamente rubí en rieles de php, así que sí, creo que puedes hacer esto (el regate funciona con rieles y es una aplicación bastante intensiva en solicitudes). De hecho, estoy construyendo un sitio similar a dribble para desarrolladores (vrep.io) usando laravel + vue.js, pero lo que importa es cómo diseñas la base de datos. Como probablemente usará una base de datos relacional, realice un diseño previo para poder escalarla más tarde. Laravel en sí es un marco muy flexible y si diseñas tu aplicación teniendo en cuenta la escalabilidad, deberías estar bien.

Puedes ir con Laravel pero pronto necesitarás otras tecnologías. Tendrá problemas con el rendimiento de la base de datos si no lo optimiza correctamente.