Laravel Octane galvenās atšķirības starp smilškastes gadījumu un parasto gadījumu ir šādas:
Sandbox instance
1. Klonēta lietojumprogrammas instance: Octane klonē sākotnējo lietojumprogrammas gadījumu, lai katram ienākošajam pieprasījumam izveidotu smilškastes gadījumu. Tas nodrošina, ka katram pieprasījumam ir sava izolēta vide, novēršot stāvokļa noturības problēmas starp pieprasījumiem.2. Tīra konfigurācija: smilškastes instancē ir tīra konfigurācijas repozitorija kopija, kas tiek klonēta no jaunās smilškastes instances. Tas nodrošina, ka visas konfigurāciju mutācijas ietekmē tikai smilšu kasti.
3. Izskalota kešatmiņa un sesija: smilškastes gadījums izskalo kešatmiņu un sesijas stāvokli, lai novērstu datu saglabāšanu visos pieprasījumos.
4. Lokalizētais tulkotājs: smilškastes instancē tulkotāja iekšienē esošās lokalizācijas tiek iestatītas uz sākotnējām lokalizācijām, lai nodrošinātu, ka tulkotājs tiek atiestatīts katram pieprasījumam.
5. Auth Forget Guards: smilškastes instance aizmirst visus aizsargus, kas tika iestatīti iepriekšējo pieprasījumu laikā, lai nodrošinātu tīru stāvokli.
Regulāra instance
1. Sākotnējā lietojumprogrammas instance: parastā instance ir sākotnējā lietojumprogrammas instance, kas saglabājas visos pieprasījumos.2. Pastāvīga konfigurācija: parastā instance izmanto sākotnējo konfigurācijas repozitoriju, kas var izraisīt stāvokļa noturības problēmas starp pieprasījumiem.
3. Pastāvīga kešatmiņa un sesija: parastā instance neizskalo kešatmiņu un sesijas stāvokli, ļaujot datiem saglabāties visos pieprasījumos.
4. Nav lokalizētā tulkotāja: parastā instance neatiestata tulkotāja lokalizācijas, kas var radīt problēmas, ja lietojumprogramma paļaujas uz lokalizācijas iestatījumiem.
5. Pastāvīgi autorizācijas sargi: parastā instance neaizmirst nevienu aizsargu, kas tika iestatīts iepriekšējo pieprasījumu laikā, kas var izraisīt drošības problēmas, ja tās netiek pareizi pārvaldītas.
Labākā prakse
1. Izvairieties no lietojumprogrammas instances nodošanas: izvairieties no lietojumprogrammas instances tiešas nodošanas pakalpojumiem vai atsevišķiem lietotājiem. Tā vietā izmantojiet palīgu "app()" vai "Container::getInstance()", lai nodrošinātu, ka tiek izmantota pareizā instance.2. Izmantojiet atzvanīšanu: izmantojiet atzvanīšanu, lai atgrieztu smilškastes gadījumu, nevis nodotu lietojumprogrammas gadījumu tieši.
Izprotot šīs atšķirības un ievērojot paraugpraksi, varat nodrošināt, ka jūsu lietojumprogramma darbojas efektīvi un droši, izmantojot Octane[1][5].
Citāts:[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