4 Manajer Proses untuk Aplikasi Node.js di Linux


Manajer proses Node.js adalah alat yang berguna untuk memastikan bahwa proses atau skrip Node.js berjalan terus-menerus (selamanya) dan dapat mengaktifkannya untuk memulai secara otomatis saat boot sistem .

Hal ini memungkinkan Anda untuk memantau layanan yang berjalan dan memfasilitasi tugas-tugas umum administrasi sistem (seperti memulai ulang jika terjadi kegagalan, menghentikan, memuat ulang konfigurasi tanpa waktu henti, mengubah variabel/pengaturan lingkungan, menampilkan metrik kinerja, dan banyak lagi). Ini juga mendukung pencatatan aplikasi, pengelompokan, dan penyeimbangan beban, dan banyak fitur manajemen proses berguna lainnya.

Baca Juga: 14 Framework NodeJS Terbaik untuk Pengembang di tahun 2019

Manajer paket berguna terutama untuk penerapan aplikasi Node.js di lingkungan produksi. Pada artikel ini, kami akan meninjau empat manajer proses untuk manajemen aplikasi Node.js di sistem Linux.

1.PM2

PM2 adalah pengelola proses tingkat produksi sumber terbuka, canggih, kaya fitur, lintas platform, dan paling populer untuk Node.js dengan penyeimbang beban bawaan. Ini memungkinkan Anda membuat daftar, memantau, dan bertindak pada semua proses Nodejs yang diluncurkan, dan mendukung mode cluster.

Mendukung pemantauan aplikasi: menawarkan cara sederhana untuk memantau penggunaan sumber daya (memori dan CPU) aplikasi Anda. Ini mendukung alur kerja manajemen proses Anda dengan memungkinkan Anda mengonfigurasi dan menyesuaikan perilaku setiap aplikasi melalui file proses (format yang didukung mencakup Javascript, JSON, dan YAML).

Log aplikasi selalu menjadi kunci dalam lingkungan produksi, dalam hal ini PM2 memungkinkan Anda mengelola log aplikasi dengan mudah. Ini menyediakan cara dan format berbeda untuk masing-masing menangani dan menampilkan log. Anda dapat menampilkan log secara real-time, menghapusnya, dan memuatnya kembali bila diperlukan.

Yang penting, PM2 mendukung skrip startup yang dapat Anda konfigurasikan untuk memulai proses secara otomatis saat mesin dihidupkan ulang seperti yang diperkirakan atau tidak diharapkan. Ini juga mendukung restart otomatis aplikasi ketika file diubah di direktori saat ini atau subdirektorinya.

Selain itu, PM2 hadir dengan sistem modul yang memungkinkan pengguna membuat modul khusus untuk manajemen proses Nodejs. Misalnya, Anda dapat membuat modul untuk modul rotasi log atau penyeimbangan beban, dan banyak lagi.

Yang terakhir, jika Anda menggunakan container Docker, PM2 memungkinkan integrasi container, dan menawarkan sistem API yang memungkinkan Anda menggunakannya secara terprogram.

2. Lingkaran Kuat PM

StrongLoop PM juga merupakan manajer proses produksi tingkat lanjut dan open-source untuk aplikasi Node.js dengan penyeimbangan beban bawaan seperti PM2 dan dapat digunakan melalui perintah- garis atau antarmuka grafis.

Ini mendukung pemantauan aplikasi (melihat metrik kinerja seperti waktu loop peristiwa, konsumsi CPU dan memori), penerapan multi-host, mode cluster, restart dan peningkatan aplikasi tanpa downtime, restart proses otomatis jika terjadi kegagalan, dan agregasi dan manajemen log.

Selain itu, ia dikirimkan dengan dukungan Docker, memungkinkan Anda mengekspor metrik kinerja ke server yang kompatibel dengan StatsD, dan melihatnya di konsol pihak ketiga seperti DataDog, Graphite<, Splunk serta Syslog dan file log mentah.

3. Selamanya

Forever adalah alat antarmuka baris perintah sumber terbuka, sederhana dan dapat dikonfigurasi untuk menjalankan skrip tertentu secara terus menerus (selamanya). Cocok untuk menjalankan penerapan aplikasi dan skrip Node.js yang lebih kecil. Anda dapat menggunakan selamanya dengan dua cara: melalui baris perintah atau dengan menyematkannya dalam kode Anda.

Ini memungkinkan Anda untuk mengelola (memulai, membuat daftar, menghentikan, menghentikan semua, memulai ulang, memulai ulang semua, dll..) proses Node.js dan mendukung pengamatan perubahan file, mode debug, log aplikasi, penghentian dari suatu proses dan kustomisasi sinyal keluar, dan banyak lagi. Selain itu, ini mendukung beberapa opsi penggunaan yang dapat Anda teruskan langsung dari baris perintah atau meneruskannya dalam file JSON.

4. SystemD – Manajer Layanan dan Sistem

Di Linux, Systemd adalah daemon yang mengelola sumber daya sistem seperti proses dan komponen sistem file lainnya. Sumber daya apa pun yang dikelola oleh systemd dikenal sebagai unit. Ada berbagai jenis unit termasuk layanan, perangkat, soket, dudukan, target, dan banyak unit lainnya.

Systemd mengelola unit melalui file konfigurasi yang dikenal sebagai file unit. Oleh karena itu, untuk mengelola server Node.js Anda seperti layanan sistem lainnya, Anda perlu membuat file unit untuk server tersebut, yang dalam hal ini adalah file layanan.

Setelah Anda membuat file layanan untuk server Node.js, Anda dapat memulainya, mengaktifkannya untuk memulai secara otomatis pada saat boot sistem, memeriksa statusnya, memulai ulang (berhenti dan memulai lagi) atau memuat ulang konfigurasinya, dan bahkan menghentikannya seperti layanan systemd lainnya.

Untuk informasi lebih lanjut, lihat: Cara Membuat dan Menjalankan Unit Layanan Baru di Systemd Menggunakan Skrip Shell

Ringkasan

Manajer paket Node.js adalah alat yang berguna untuk menerapkan proyek Anda di lingkungan produksi. Itu membuat aplikasi tetap hidup selamanya dan menyederhanakan cara Anda mengontrolnya. Dalam artikel ini, kami meninjau empat pengelola paket untuk Node.js. Jika Anda memiliki tambahan atau pertanyaan untuk ditanyakan, gunakan formulir umpan balik di bawah untuk menghubungi kami.