‫Instruktur: Jadi, ingatlah bahwa dalam kuliah
‫terakhir, kita berbicara tentang arsitektur Node,
‫di mana dua
‫bagian mendasar adalah kumpulan utas dan loop acara.
‫Jadi dalam kuliah ini, Anda akan
‫mempelajari semua tentang utas dan kumpulan utas.
‫Dan selanjutnya,
‫kita akan menyelam jauh ke dalam loop acara.
‫Jadi, mari kita mulai.
‫Jadi, pertama-tama, ketika kita menggunakan Node di komputer,
‫itu berarti ada proses Node yang
‫berjalan di komputer itu.
‫Dan prosesnya hanyalah sebuah program yang sedang dieksekusi.
‫Dan kita sudah belajar bahwa Node. js pada
‫dasarnya adalah program C++, yang
‫karenanya akan memulai proses saat sedang berjalan.
‫Ini penting karena di Node,
‫kita sebenarnya memiliki akses ke variabel proses, yang
‫akan kita gunakan nanti dalam kursus ini.
‫Sekarang dalam proses itu, Node. js berjalan dalam
‫apa yang disebut, utas tunggal.
‫Dan utas pada dasarnya hanyalah urutan instruksi.
‫Tetapi tidak penting untuk memahami
‫secara mendalam apa itu utas atau proses.
‫Itu lebih tentang ilmu komputer.
‫Bayangkan saja sebuah utas sebagai
‫kotak tempat kode kita dieksekusi di prosesor komputer.
‫Sekarang, yang penting untuk dipahami
‫di sini, adalah fakta bahwa Node berjalan hanya dalam
‫satu utas, yang memudahkan untuk memblokir aplikasi Node.
‫Dan ini adalah sesuatu yang kita bicarakan sebelumnya, sebenarnya.
‫Tapi itu sesuatu yang sangat, sangat penting untuk diingat karena
‫ini adalah salah satu fitur
‫unik dari Node.js. js membawa ke meja.
‫Jadi, sekali lagi, jika Anda menjalankan aplikasi Node Anda, itu
‫akan berjalan hanya dalam satu utas.
‫Tidak masalah jika Anda memiliki 10 pengguna atau
‫10 juta pengguna yang mengakses aplikasi Anda secara bersamaan.
‫Jadi, Anda harus sangat
‫berhati-hati agar tidak memblokir utas itu.
‫Dan tentu saja
‫kami akan menanganinya selama proyek dalam kursus ini.
‫Selanjutnya, mari sekarang dengan cepat
‫memahami apa yang terjadi dalam satu utas
‫saat Anda memulai aplikasi Node Anda.
‫Jadi ketika program diinisialisasi, semua kode tingkat
‫atas dijalankan, yang berarti semua kode yang
‫tidak ada di
‫dalam fungsi panggilan balik.
‫Juga, semua modul yang dibutuhkan aplikasi Anda diperlukan dan semua
‫panggilan balik terdaftar, seperti yang
‫kami gunakan untuk
‫server HTP kami di Aplikasi Node Farm.
‫Ingat itu?
‫Kemudian setelah semua itu, loop acara akhirnya mulai berjalan.
‫Dan lagi, lebih banyak tentang acara dalam lingkaran di video berikutnya.
‫Yang perlu Anda ketahui untuk saat ini adalah bahwa
‫loop peristiwa adalah tempat sebagian besar pekerjaan dilakukan di aplikasi Anda.
‫Jadi, ini adalah inti dari keseluruhan arsitektur Node.
‫Tapi inilah masalahnya, beberapa tugas sebenarnya terlalu berat.
‫Mereka terlalu mahal untuk dieksekusi di loop acara karena
‫mereka kemudian akan memblokir utas tunggal.
‫Jadi, di situlah kumpulan utas masuk, yang
‫seperti loop acara, disediakan
‫untuk Node.js. js oleh perpustakaan
‫libuv yang kita bicarakan sebelumnya.
‫Jadi, kumpulan utas memberi kita empat utas
‫tambahan yang sepenuhnya terpisah dari utas tunggal utama.
‫Dan kami benar-benar dapat mengonfigurasinya hingga 128 utas.
‫Tapi biasanya, empat ini sudah cukup.
‫Jadi utas ini bersama-sama membentuk kumpulan utas.
‫Dan loop acara kemudian
‫dapat secara otomatis memindahkan tugas berat ke kumpulan utas.
‫Dan semua ini terjadi secara otomatis di belakang layar.
‫Bukan kami pengembang yang memutuskan apa
‫yang masuk ke kumpulan utas dan apa yang tidak.
‫Sekarang, tugas-tugas mahal yang diturunkan adalah
‫semua operasi yang berhubungan dengan file, semua yang
‫berhubungan dengan kriptografi, seperti caching password, kemudian
‫semua hal kompresi, dan juga pencarian DNS, yang pada
‫dasarnya mencocokkan domain
‫web dengan alamat IP asli yang sesuai.
‫Jadi ini adalah
‫hal-hal yang paling mudah memblokir utas utama.
‫Jadi, Node secara otomatis menurunkannya ke
‫kumpulan utas, di mana
‫mereka tidak memblokir loop acara kami.
‫Dan itu adalah hal terpenting
‫yang saya ingin Anda pertahankan dari video ini.
‫Jadi, sekarang mari kita lanjutkan dan bicara tentang loop acara itu sendiri.