Laravel Octane pagrindiniai skirtumai tarp smėlio dėžės egzemplioriaus ir įprasto egzemplioriaus yra šie:
Smėlio dėžės pavyzdys
1. Klonuotas programos egzempliorius: „Octane“ klonuoja pradinį programos egzempliorių, kad kiekvienai gaunamai užklausai sukurtų smėlio dėžės egzempliorių. Taip užtikrinama, kad kiekviena užklausa turėtų atskirą aplinką, užkertant kelią būsenos išlikimo problemoms tarp užklausų.2. Švari konfigūracija: smėlio dėžės egzempliorius turi švarią konfigūracijos saugyklos kopiją, kuri klonuojama iš naujo smėlio dėžės egzemplioriaus. Tai užtikrina, kad bet kokios konfigūracijų mutacijos paveiks tik smėlio dėžę.
3. Išvalyta talpykla ir seansas: smėlio dėžės egzempliorius išplauna talpyklą ir seanso būseną, kad užklausose neišliktų duomenų.
4. Lokalizuotas vertėjas: smėlio dėžės egzempliorius nustato vertėjo viduje esančias lokales į pradines lokales, kad būtų užtikrinta, jog vertėjas būtų iš naujo nustatytas kiekvienai užklausai.
5. Auth Forget Guards: smėlio dėžės egzempliorius pamiršta visas apsaugas, kurios buvo nustatytos per ankstesnes užklausas, kad būtų užtikrinta švari būsena.
Įprastas atvejis
1. Pradinis programos egzempliorius: įprastas egzempliorius yra pirminis programos egzempliorius, kuris išlieka visose užklausose.2. Pastovi konfigūracija: įprastas egzempliorius naudoja pradinę konfigūracijos saugyklą, todėl tarp užklausų gali kilti būsenos išlikimo problemų.
3. Pastovi talpykla ir seansas: įprastas egzempliorius neiškrauna talpyklos ir seanso būsenos, todėl duomenys gali išlikti visose užklausose.
4. Nėra lokalizuoto vertėjo: įprastas egzempliorius nenustato iš naujo vertėjo lokalių, todėl gali kilti problemų, jei programa remiasi konkrečios lokalės nustatymais.
5. Pastovios autentiškumo apsaugos priemonės: įprastas egzempliorius nepamiršta jokių apsaugų, kurios buvo nustatytos per ankstesnes užklausas, o tai gali sukelti saugumo problemų, jei jos netinkamai valdomos.
Geriausia praktika
1. Venkite perduoti programos egzempliorių: neperduokite programos egzemplioriaus tiesiogiai paslaugoms ar pavieniams asmenims. Vietoj to naudokite „app()“ pagalbininką arba „Container::getInstance()“, kad įsitikintumėte, jog naudojamas tinkamas egzempliorius.2. Naudokite atgalinius skambučius: naudokite atgalinius skambučius, kad grąžintumėte smėlio dėžės egzempliorių, o ne tiesiogiai perduodate programos egzempliorių.
Suprasdami šiuos skirtumus ir vadovaudamiesi geriausios praktikos pavyzdžiais, galite užtikrinti, kad jūsų programa veiks efektyviai ir saugiai naudojant „Octane“[1][5].
Citatos:[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