
Tentang alternatif untuk Express, di mana dan mengapa perlu meninggalkan Express'a dan pengukuran kecil dalam terjemahan di bawah potongan
Ekspres
Express adalah kerangka kerja Node.js yang sederhana, didokumentasikan dengan baik, sangat didukung, dan paling banyak diunduh.
Jika Anda mencoba untuk google cara membuat server HTTP sederhana, maka kemungkinan besar permintaan pertama akan memberi Anda sesuatu seperti ini:
const server = require('express')({}) server.get('/', (req, res) => { res.send('Hello World!') }); server.listen(3000);
API REST
Dalam arsitektur aplikasi yang dikembangkan oleh perusahaan, REST API dan layanan REST terus memainkan peran mendasar, karena HTTP masih digunakan sebagai protokol utama untuk komunikasi. Ini berarti bahwa seorang programmer yang akan membuat aplikasi atau layanan-mikro baru akan menggunakan REST API alih-alih, misalnya, "antrian acara".
Dengan mulai populernya menggunakan layanan mikro, REST API berusaha sekecil mungkin dan melakukan sejumlah operasi minimum. Ini mensyaratkan bahwa jumlah titik akhir dalam API yang dikembangkan akan meningkat dalam proporsi langsung ke jumlah layanan mikro dan untuk setiap tindakan sederhana akan ada titik akhir sendiri. Sebagai contoh, untuk mengubah data pengguna dalam basis data, metode / user / search akan dipanggil terlebih dahulu untuk menemukan ID pengguna yang kami butuhkan, dan hanya kemudian metode / user / update akan dipanggil dengan parameter yang dikembalikan kepada kami sebelum ID ini, sebagai gantinya untuk melakukan operasi ini (Catatan Ed.).
Ya, REST APIs harus cepat, mereka harus cepat!
Juga, ketika membuat aplikasi yang sangat dimuat menggunakan REST API, mereka semakin menggunakan pola layanan mikro. Aplikasi semacam itu dibangun di API Gateway. Gateway API, pada kenyataannya, adalah server proxy yang diakses pengguna, dan server proxy ini sudah mengakses layanan mikro yang paling sedikit dimuat. Biasanya, Gateway API juga memecahkan tugas kecil, seperti:
- Pemrosesan Sertifikat SSL
- Muat pembagian
- Otorisasi dan Otentikasi
- Caching
- Minta Kompresi Konten
- ...
Namun, Express terlalu berat dan lambat.
Express hebat, penuh fitur ... tetapi juga berat dan lambat untuk digunakan untuk tujuan kecil, seperti REST API dalam layanan mikro
Versi terbaru perpustakaan (4.16.4) tergantung pada 30 modul yang dibangun di dalamnya, dan dalam proses pengembangan sekitar 20 modul ditambahkan ke modul ini, yang pada akhirnya membuat aplikasi terlalu berat untuk digunakan sebagai layanan mikro.

Dibandingkan dengan perpustakaan lain, Express terlalu lambat untuk digunakan untuk tujuan minimal ketika Anda tidak harus melakukan query yang kompleks. Grafik di bawah ini menunjukkan perbandingan pelaksanaan permintaan sederhana untuk dokumen JSON.


Pengukuran yang ditunjukkan pada gambar terakhir tidak menunjukkan bahwa Express lambat pada umumnya, mereka menunjukkan bahwa Anda perlu menggandakan kinerja prosesor Anda untuk melakukan operasi sederhana ... Akibatnya, pembayaran bulanan untuk menggunakan AWS, Google Cloud, MS akan meningkat Azure atau layanan cloud lain yang Anda gunakan, dan ini akan diterjemahkan menjadi biaya yang lebih besar dan seringkali tidak masuk akal.
Kesimpulan

Ada banyak cara untuk mengimplementasikan REST API di Node.js, berikut ini adalah yang tepat untuk Anda, tergantung pada tugasnya:
- Jika Anda membutuhkan kinerja maksimum, tetapi pada saat yang sama biaya minimum, maka Express jelas bukan yang Anda butuhkan. Lihatlah Fastify .
- Jika Anda memerlukan perpustakaan kecil dengan set fungsi minimum yang diperlukan, maka Anda harus melihat restify , koa , polka atau restana