V Laravel Octane so ključne razlike med instanco peskovnika in navadno instanco:
Primerek peskovnika
1. Klonirani primerek aplikacije: Octane klonira izvirni primerek aplikacije, da ustvari primerek peskovnika za vsako dohodno zahtevo. To zagotavlja, da ima vsaka zahteva svoje izolirano okolje, kar preprečuje težave z obstojnostjo stanja med zahtevami.2. Čista konfiguracija: primerek peskovnika vključuje čisto kopijo repozitorija konfiguracije, ki je kloniran iz svežega primerka peskovnika. To zagotavlja, da vse mutacije konfiguracij vplivajo samo na peskovnik.
3. Izprazni predpomnilnik in seja: primerek peskovnika izprazni predpomnilnik in stanje seje, da prepreči, da bi se kateri koli podatki obdržali med zahtevami.
4. Lokalizirani prevajalnik: primerek peskovnika nastavi področne nastavitve znotraj prevajalnika na izvirne področne nastavitve, da zagotovi, da se prevajalnik ponastavi za vsako zahtevo.
5. Auth Forget Guards: primerek peskovnika pozabi vse varovalke, ki so bile nastavljene med prejšnjimi zahtevami, da se zagotovi čisto stanje.
Redni primerek
1. Izvirni primerek aplikacije: Običajni primerek je izvirni primerek aplikacije, ki obstaja med zahtevami.2. Vztrajna konfiguracija: Običajni primerek uporablja izvirno skladišče konfiguracije, kar lahko povzroči težave z obstojnostjo stanja med zahtevami.
3. Trajni predpomnilnik in seja: Običajni primerek ne izprazni predpomnilnika in stanja seje, kar omogoča, da podatki ostanejo med zahtevami.
4. Brez lokaliziranega prevajalnika: Običajni primerek ne ponastavi področnih nastavitev prevajalnika, kar lahko povzroči težave, če se aplikacija zanaša na nastavitve, specifične za območne nastavitve.
5. Persistent Auth Guards: Redna instanca ne pozabi nobenih varoval, ki so bila nastavljena med prejšnjimi zahtevami, kar lahko povzroči varnostne težave, če se ne upravljajo pravilno.
Najboljše prakse
1. Izogibajte se posredovanju primerka aplikacije: Izogibajte se posredovanju primerka aplikacije neposredno storitvam ali singlom. Namesto tega uporabite pomočnik `app()` ali `Container::getInstance()`, da zagotovite uporabo pravilnega primerka.2. Uporabi povratne klice: uporabite povratne klice za vrnitev primerka peskovnika namesto neposrednega posredovanja primerka aplikacije.
Če razumete te razlike in upoštevate najboljše prakse, lahko zagotovite, da vaša aplikacija deluje učinkovito in varno z Octane[1][5].
Citati:[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