Belajar Nodejs part5

Fajar Setiawan Siagian
4 min readJun 14, 2022
Photo by Mars Sector-6 on Unsplash

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.

contoh penggunaan console pada nodejs untuk membuat log file

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

ini yang di eksekusi
ini yang dikirim

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

contoh penggunaan http client di nodejs

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.

contoh http server untuk post dan get method

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.

penggunaan cluster sederhana ketika ada worker mati maka akan di run ullang dengan process berbeda
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.

--

--

Fajar Setiawan Siagian

A Full Stack Web Developer. all my stories in Indonesia. Hope you find a solution in my stories