Belajar Nodejs part5
hai kembali dengan fajarsiagian, di catatan kali ini kita akan kembali mengulang materi dari channel programmer zaman now mengenai dasar nodejs.
Console adalah standard library yang sudah sering kita gunakan. Secara global, object console bisa kita gunakan tanpa harus melakukan import module, dan console melakukan print tet nya ke stdout. Namun jika kita juga bisa membuat object Console sendiri jika kita mau. Bahkan kita juga bisa mengirim log menggunakan console ke network server.
dan ini lah hasil dari pemrosesan kode diatas dalam bentuk application.log
hello worldUpps┌───────────┬───────────┐│ (index) │ Values │├───────────┼───────────┤│ firstName │ 'Fajar' ││ lastName │ 'Siagian' │└───────────┴───────────┘
Worker Threads adalah standard library yang bisa kita gunakan untuk menggunakan thread ketika mengeksekusi JavaScript secara paralel. Worker Threads sangat cocok ketika kita membuat kode program yang butuh jalan secara paralel, dan biasanya kasusnya adalah ketika kode program kita membutuhkan proses yang CPU intensive, seperti misalnya enkripsi atau kompresi. Cara kerja Worker Threds mirip dengan Web Worker di JavaScript Web API. Worker Threads juga termasuk instance dari EventEmitter dan berjalan secara paralel
dan ketika kita mengeksekusi worker-main.mjs akan menghasilkan hal ini.
Thread-1 send message 0
Thread-0 receive from worker1: 0
Thread-0 receive from worker1: 1
Thread-0 receive from worker1: 2
Thread-0 receive from worker1: 3
Thread-0 receive from worker1: 4
Thread-0 receive from worker1: 5
Thread-0 receive from worker1: 6
Thread-0 receive from worker1: 7
Thread-0 receive from worker1: 8
Thread-0 receive from worker1: 9
Thread-1 send message 1
Thread-1 send message 2
Thread-1 send message 3
Thread-1 send message 4
Thread-1 send message 5
Thread-1 send message 6
Thread-1 send message 7
Thread-1 send message 8
Thread-1 send message 9
Thread-2 send message 0
Thread-0 receive from worker1: 0
Thread-0 receive from worker1: 1
Thread-0 receive from worker1: 2
Thread-0 receive from worker1: 3
Thread-0 receive from worker1: 4
Thread-0 receive from worker1: 5
Thread-0 receive from worker1: 6
Thread-0 receive from worker1: 7
Thread-0 receive from worker1: 8
Thread-0 receive from worker1: 9
Thread-2 send message 1
Thread-2 send message 2
Thread-2 send message 3
Thread-2 send message 4
Thread-2 send message 5
Thread-2 send message 6
Thread-2 send message 7
Thread-2 send message 8
Thread-2 send message 9
Nodejs juga memiliki standard library untuk HTTP. Salau satu fitur di module HTTP adalah HTTP Client, dimana kita bisa melakukan simulasi HTTP Request menggunakan NodeJs. Terdapat 2 jenis module HTTP di nodejs diantaranya HTTP, dan HTTPS
Standard Library HTTP juga tidak hanya bisa digunakan untuk membuat HTTP Client, tapi juga bisa digunakan untuk membuat HTTP Server. Untuk kasus sederhana, cocok sekali jika ingin membuat HTTP Server menggunakan standard library NodeJS, namun untuk kasus yang lebih kompleks, direkomendasikan menggunakan library atau framework yang lebih mudah penggunaanya.
Nodejs secara default dia berjalan single thread, kecuali jika kita membuat thread manual menggunakan worker thread, tapi tetap dalam satu process. Nodejs memiliki standard library bernama cluster, dimana kita bisa mengjalankan beberapa process Nodejs secara sekaligus. Ini sangat cocok ketika kita menggunakan CPI yang multicore, sehingga semua core bisa kita utilisasi dengan baik, misal kita jalankan process nodejs sejumlah cpu core.
Di dalam cluster, terdapat 2 jenis aplikasi, Primar dan Worker. Primary biasanya digunakan sebagai koordinator atau manajer untuk para Worker. Sedangkan Worker sendiri adalah aplikasi yang menjalankan tugasnya.
Primary: 112099
Worker: 112110
Worker: 112118
Worker: 112111
Worker: 112117
Worker 1 is exit
Worker: 112261
Worker 4 is exit
Worker: 112289
Worker 2 is exit
Worker: 112302
Worker 3 is exit
Worker: 112314
Worker 5 is exit
Worker: 112352
Worker 6 is exit
Worker: 112363
Worker 7 is exit
Worker: 112374
Worker 8 is exit
Worker: 112399
Worker 9 is exit
Worker: 112410
penggunaan cluster ini sangat bagus di manfaatkan pada proses produksi untuk menjaga sistem kita agar tidak mati.
Nah sekian tulisaan yg sya tulis dari channel programmer zaman now mengenai nodejs dasar.