Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hvad er de vigtigste forskelle mellem en sandbox-instans og en almindelig instans i Octane


Hvad er de vigtigste forskelle mellem en sandbox-instans og en almindelig instans i Octane


I Laravel Octane er de vigtigste forskelle mellem en sandbox-instans og en almindelig instans:

Sandbox Instance

1. Klonet applikationsforekomst: Octane kloner den oprindelige applikationsinstans for at oprette en sandkasseinstans for hver indkommende anmodning. Dette sikrer, at hver anmodning har sit eget isolerede miljø, hvilket forhindrer tilstandsproblemer mellem anmodninger.
2. Ren konfiguration: Sandbox-instansen inkluderer en ren kopi af konfigurationslagret, som er klonet fra den friske sandbox-instans. Dette sikrer, at eventuelle mutationer i konfigurationerne kun påvirker sandkassen.
3. Skylt cache og session: Sandbox-forekomsten tømmer cachen og sessionstilstanden for at forhindre data i at blive ved på tværs af anmodninger.
4. Localized Translator: Sandbox-forekomsten indstiller lokaliteterne inde i oversætteren til de originale lokaliteter for at sikre, at oversætteren nulstilles for hver anmodning.
5. Auth Forget Guards: Sandbox-forekomsten glemmer alle guards, der blev sat under tidligere anmodninger for at sikre en ren tilstand.

Almindelig instans

1. Original applikationsforekomst: Den almindelige instans er den originale applikationsforekomst, som fortsætter på tværs af anmodninger.
2. Persistent Configuration: Den almindelige instans bruger det originale konfigurationslager, hvilket kan føre til tilstandsproblemer mellem anmodninger.
3. Persistent cache og session: Den almindelige instans fjerner ikke cachen og sessionstilstanden, hvilket tillader data at bestå på tværs af anmodninger.
4. Ingen lokaliseret oversætter: Den almindelige instans nulstiller ikke oversætterens lokaliteter, hvilket kan føre til problemer, hvis applikationen er afhængig af lokalitetsspecifikke indstillinger.
5. Persistent Auth Guards: Den almindelige instans glemmer ikke nogen vagter, der blev sat under tidligere anmodninger, hvilket kan føre til sikkerhedsproblemer, hvis det ikke administreres korrekt.

Bedste praksis

1. Undgå at sende applikationsforekomst: Undgå at sende applikationsforekomsten direkte til tjenester eller singletons. Brug i stedet `app()`-hjælperen eller `Container::getInstance()` for at sikre, at den korrekte instans bruges.
2. Brug tilbagekald: Brug tilbagekald til at returnere sandbox-forekomsten i stedet for at sende programforekomsten direkte.

Ved at forstå disse forskelle og følge bedste praksis kan du sikre, at din applikation kører effektivt og sikkert med Octane[1][5].

Citater:
[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