Dokumen ini diterjemahkan oleh AI. Untuk informasi yang akurat, silakan merujuk ke versi bahasa Inggris.
pkg: '@nocobase/plugin-app-supervisor'
Mode multi-aplikasi memori bersama (shared memory) memiliki keuntungan yang jelas dalam penyebaran dan operasional, namun seiring dengan meningkatnya jumlah aplikasi dan kompleksitas bisnis, instansi tunggal mungkin secara bertahap menghadapi masalah seperti persaingan sumber daya dan penurunan stabilitas. Untuk skenario seperti ini, pengguna dapat mengadopsi solusi penyebaran hibrida multi-lingkungan untuk mendukung kebutuhan bisnis yang lebih kompleks.
Dalam mode ini, sistem menyebarkan satu aplikasi entri sebagai pusat manajemen dan penjadwalan terpadu, serta menyebarkan beberapa instansi NocoBase sebagai lingkungan berjalan aplikasi yang independen, yang bertanggung jawab untuk menjalankan aplikasi bisnis yang sebenarnya. Setiap lingkungan terisolasi satu sama lain dan bekerja secara kolaboratif, sehingga secara efektif mendistribusikan tekanan instansi tunggal dan secara signifikan meningkatkan stabilitas, skalabilitas, serta kemampuan isolasi kesalahan sistem.
Pada tingkat penyebaran, lingkungan yang berbeda dapat berjalan dalam proses independen, disebarkan sebagai kontainer Docker yang berbeda, atau dalam bentuk beberapa Deployment Kubernetes, yang mampu beradaptasi secara fleksibel dengan berbagai skala dan arsitektur infrastruktur.
Dalam mode penyebaran hibrida multi-lingkungan:
Saat ini fitur pembuatan lingkungan belum tersedia, setiap aplikasi kerja perlu disebarkan secara manual dan dikonfigurasi dengan informasi lingkungan yang sesuai sebelum dapat dikenali oleh aplikasi entri.
Sebelum melakukan penyebaran, harap siapkan layanan berikut:
Redis
Database
Aplikasi entri berfungsi sebagai pusat manajemen terpadu, bertanggung jawab untuk pembuatan, mulai, henti aplikasi, dan penjadwalan lingkungan, serta sebagai proxy akses aplikasi.
Penjelasan konfigurasi variabel lingkungan aplikasi entri:
Aplikasi kerja berfungsi sebagai lingkungan berjalan bisnis yang sebenarnya, bertanggung jawab untuk menampung dan menjalankan instansi aplikasi NocoBase yang spesifik.
Penjelasan konfigurasi variabel lingkungan aplikasi kerja:
Contoh berikut menunjukkan solusi penyebaran hibrida multi-lingkungan dengan kontainer Docker sebagai unit berjalan, yang menyebarkan satu aplikasi entri dan dua aplikasi kerja secara bersamaan melalui Docker Compose.
Operasi manajemen dasar aplikasi tidak berbeda dengan mode memori bersama, silakan merujuk ke Mode Memori Bersama. Bagian ini terutama memperkenalkan konten yang terkait dengan konfigurasi multi-lingkungan.
Setelah penyebaran selesai, masuk ke halaman "App Supervisor" di aplikasi entri, Anda dapat melihat daftar lingkungan kerja yang telah terdaftar di tab "Lingkungan". Ini mencakup identitas lingkungan, versi aplikasi kerja, URL akses, dan status. Aplikasi kerja melaporkan detak jantung (heartbeat) setiap 2 menit untuk memastikan ketersediaan lingkungan.

Saat membuat aplikasi, Anda dapat memilih satu atau lebih lingkungan berjalan untuk menentukan di aplikasi kerja mana aplikasi tersebut akan disebarkan. Dalam keadaan normal, disarankan untuk memilih satu lingkungan saja. Pilih beberapa lingkungan hanya jika aplikasi kerja telah melakukan pemisahan layanan dan perlu menyebarkan aplikasi yang sama ke beberapa lingkungan berjalan untuk mencapai pembagian beban atau isolasi kemampuan.

Halaman daftar aplikasi akan menampilkan lingkungan berjalan saat ini dan informasi status untuk setiap aplikasi. Jika aplikasi disebarkan di beberapa lingkungan, maka akan menampilkan beberapa status berjalan. Dalam kondisi normal, aplikasi yang sama di beberapa lingkungan akan mempertahankan status yang seragam dan perlu dikontrol secara terpadu untuk mulai dan berhenti.

Karena startup aplikasi mungkin menulis data inisialisasi ke database, untuk menghindari kondisi balapan (race condition) di bawah multi-lingkungan, aplikasi yang disebarkan di beberapa lingkungan akan mengantre untuk dijalankan saat startup.

Aplikasi kerja dapat diakses melalui proxy menggunakan sub-jalur /apps/:appName/admin dari aplikasi entri.

Jika aplikasi disebarkan di beberapa lingkungan, lingkungan target untuk akses proxy perlu ditentukan.

Secara default, alamat akses proxy menggunakan alamat akses aplikasi kerja yang sesuai dengan variabel lingkungan ENVIRONMENT_URL, pastikan alamat tersebut dapat diakses dalam lingkungan jaringan tempat aplikasi entri berada. Jika perlu menggunakan alamat akses proxy yang berbeda, ini dapat ditimpa melalui variabel lingkungan ENVIRONMENT_PROXY_URL.