Matawebsite Promo Lebaran 2022

Lebih lanjut dengan Node.js

date 24 Sep 2019
date Lev Yasin
date 788
date Mobile App
Lebih lanjut dengan Node.js

Node.js adalah salah satu teknologi paling populer saat ini untuk membangun REST API yang scalable dan efisien. Itu juga digunakan untuk membangun aplikasi mobile hybrid, aplikasi desktop dan bahkan Internet of Things.

Multi Threaded Server

Aplikasi web ditulis dalam model klien / server di mana klien akan menuntut sumber daya dari server dan server akan merespons dengan resources. Server hanya merespons ketika klien meminta dan akan menutup koneksi. Pola ini efisien karena setiap permintaan ke server membutuhkan waktu dan sumber daya (memori, CPU, dll). Untuk menghadiri permintaan berikutnya, server harus menyelesaikan yang sebelumnya.

Jadi, server menghadiri satu permintaan sekaligus? Yah tidak tepat, ketika server mendapat permintaan baru, permintaan tersebut akan diproses oleh utas .

Sebuah benang dalam kata-kata sederhana adalah waktu dan sumber daya CPU memberikan untuk mengeksekusi unit kecil instruksi. Dengan demikian, server menghadiri beberapa permintaan sekaligus, satu per thread (juga disebut thread-per-request model ).

Blocking I/O

Jumlah thread di server bukan satu-satunya masalah di sini. Mungkin Anda akan bertanya-tanya mengapa satu thread tidak dapat menghadiri 2 atau lebih permintaan sekaligus? Itu karena memblokir operasi Input / Output.

Misalkan Anda sedang mengembangkan toko online dan perlu halaman di mana pengguna dapat melihat semua produk Anda.

Pengguna mengakses http://tokoanda.com/products dan server membuat file HTML dengan semua produk Anda dari basis data. Cukup sederhana bukan?

Tapi, apa yang terjadi di belakang? ...

  1. Ketika pengguna mengakses / produk, metode atau fungsi tertentu perlu dijalankan untuk menghadiri permintaan, jadi sepotong kecil kode (mungkin milik Anda atau kerangka kerja) mengurai url yang diminta dan mencari metode atau fungsi yang tepat.

  2. Metode atau fungsi dijalankan, serta baris pertama.

  3. Karena Anda adalah pengembang yang baik, Anda dapat menyimpan semua log sistem dalam sebuah file dan tentu saja, untuk memastikan rute mengeksekusi metode / fungsi yang tepat, Anda login "Metode X mengeksekusi !!" string, itu operasi pemblokiran I / O.

  4. Log disimpan dan baris berikutnya sedang dieksekusi.

  5. Anda mendapatkan array atau daftar semua produk tetapi untuk memastikan Anda mencatatnya.

  6. Dengan produk-produk itu saatnya membuat template tetapi sebelum membuatnya Anda harus membacanya terlebih dahulu.

  7. Mesin melakukan tugasnya dan respons dikirim ke klien.

Seberapa lambat operasi I / O ? Yah, itu semua tergantung.

Operasi Disk dan Jaringan terlalu lambat. Berapa banyak permintaan atau panggilan API eksternal yang dilakukan sistem Anda?

Dalam resume, operasi I / O membuat thread menunggu dan membuang sumber daya.

Matawebsite Promo
lev_yasin.png

Lev Yasin

Instruktur Web Programming Mataweb

Sangat tertarik dengan dunia Pemrograman Web & Mobile, saat ini fokus pada bagian Backend Web Developer, menggunakan PHP sebagai bahasa pemrograman utama, biasanya saya menggunakan Laravel.

Artikel Populer

Halo, ada yang bisa kami bantu?
Daftar Sekarang