Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Apa perbedaan utama antara instance sandbox dan instance reguler di Octane


Apa perbedaan utama antara instance sandbox dan instance reguler di Octane


Dalam Laravel Octane, perbedaan utama antara instance sandbox dan instance biasa adalah:

Contoh Kotak Pasir

1. Instans Aplikasi Kloning: Octane mengkloning instance aplikasi asli untuk membuat instance sandbox untuk setiap permintaan masuk. Hal ini memastikan bahwa setiap permintaan memiliki lingkungan terisolasinya sendiri, sehingga mencegah masalah persistensi status antar permintaan.
2. Konfigurasi Bersih: Mesin virtual sandbox menyertakan salinan bersih dari repositori konfigurasi, yang dikloning dari mesin virtual sandbox baru. Hal ini memastikan bahwa setiap mutasi pada konfigurasi hanya memengaruhi sandbox.
3. Pembersihan Cache dan Sesi: Mesin virtual sandbox menghapus cache dan status sesi untuk mencegah data tetap ada di seluruh permintaan.
4. Penerjemah yang Dilokalkan: Contoh sandbox menyetel lokal di dalam penerjemah ke lokal asli untuk memastikan bahwa penerjemah disetel ulang untuk setiap permintaan.
5. Auth Forget Guards: Contoh sandbox melupakan semua penjaga yang ditetapkan selama permintaan sebelumnya untuk memastikan keadaan bersih.

Mesin Virtual Reguler

1. Instans Aplikasi Asli: Instans reguler adalah instans aplikasi asli, yang tetap ada di seluruh permintaan.
2. Konfigurasi Persisten: Instance reguler menggunakan repositori konfigurasi asli, yang dapat menyebabkan masalah persistensi status antar permintaan.
3. Cache dan Sesi Persisten: Mesin virtual reguler tidak menghapus cache dan status sesi, sehingga data tetap ada di seluruh permintaan.
4. Tidak Ada Penerjemah yang Dilokalkan: Mesin virtual reguler tidak mengatur ulang lokal penerjemah, yang dapat menyebabkan masalah jika aplikasi bergantung pada pengaturan spesifik lokal.
5. Persistent Auth Guards: Mesin virtual reguler tidak melupakan penjaga apa pun yang ditetapkan selama permintaan sebelumnya, yang dapat menyebabkan masalah keamanan jika tidak dikelola dengan benar.

Praktik Terbaik

1. Hindari Meneruskan Mesin Virtual Aplikasi: Hindari meneruskan mesin virtual aplikasi langsung ke layanan atau lajang. Sebagai gantinya, gunakan helper `app()` atau `Container::getInstance()` untuk memastikan bahwa instance yang digunakan benar.
2. Gunakan Callback: Gunakan callback untuk mengembalikan instance sandbox alih-alih meneruskan instance aplikasi secara langsung.

Dengan memahami perbedaan-perbedaan ini dan mengikuti praktik terbaik, Anda dapat memastikan bahwa aplikasi Anda berjalan secara efisien dan aman dengan Octane[1][5].

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