Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ¿Cuáles son las diferencias clave entre una instancia sandbox y una instancia normal en Octane?


¿Cuáles son las diferencias clave entre una instancia sandbox y una instancia normal en Octane?


En Laravel Octane, las diferencias clave entre una instancia sandbox y una instancia normal son:

Instancia de espacio aislado

1. Instancia de aplicación clonada: Octane clona la instancia de aplicación original para crear una instancia de espacio aislado para cada solicitud entrante. Esto garantiza que cada solicitud tenga su propio entorno aislado, lo que evita problemas de persistencia de estado entre solicitudes.
2. Configuración limpia: la instancia de sandbox incluye una copia limpia del repositorio de configuración, que se clona a partir de la instancia de sandbox nueva. Esto garantiza que cualquier mutación en las configuraciones solo afecte al entorno sandbox.
3. Caché y sesión vaciados: la instancia de espacio aislado vacía el caché y el estado de la sesión para evitar que los datos persistan en las solicitudes.
4. Traductor localizado: la instancia de sandbox establece las configuraciones regionales dentro del traductor a las configuraciones regionales originales para garantizar que el traductor se restablezca para cada solicitud.
5. Auth Forget Guards: la instancia de sandbox olvida cualquier protección que se haya establecido durante solicitudes anteriores para garantizar un estado limpio.

Instancia normal

1. Instancia de aplicación original: la instancia normal es la instancia de aplicación original, que persiste en todas las solicitudes.
2. Configuración persistente: la instancia normal utiliza el repositorio de configuración original, lo que puede provocar problemas de persistencia del estado entre solicitudes.
3. Caché y sesión persistentes: la instancia normal no vacía el estado de la caché y la sesión, lo que permite que los datos persistan en todas las solicitudes.
4. Sin traductor localizado: la instancia normal no restablece las configuraciones regionales del traductor, lo que puede generar problemas si la aplicación depende de configuraciones locales específicas.
5. Guardias de autenticación persistentes: la instancia normal no olvida ninguna protección que se haya establecido durante solicitudes anteriores, lo que puede generar problemas de seguridad si no se administra adecuadamente.

Mejores prácticas

1. Evite pasar la instancia de la aplicación: Evite pasar la instancia de la aplicación directamente a servicios o singletons. En su lugar, utilice el asistente `app()` o `Container::getInstance()` para asegurarse de que se utilice la instancia correcta.
2. Usar devoluciones de llamada: use devoluciones de llamada para devolver la instancia de la zona de pruebas en lugar de pasar la instancia de la aplicación directamente.

Al comprender estas diferencias y seguir las mejores prácticas, puede asegurarse de que su aplicación se ejecute de manera eficiente y segura con Octane[1][5].

Citas:
[1] https://www.getoctane.io/sandbox
[2] https://salesforce.stackexchange.com/questions/42163/performance-difference-between-sandbox-and-production-instances
[3] https://otoy1473900221.zendesk.com/hc/en-us/articles/115001577606-Instances
[4] https://blog.octanesolutions.com.au/sandbox-analysis.delivered
[5] https://divinglaravel.com/laravel-octane-bootstrapping-the-application-and-handling-requests