Saya telah mendengar banyak dan membaca tentang bahasa sisi server Javascript yaitu Node.js, dan melihat banyak perbandingan yang mendukung Node.
Saya tidak mengerti apa yang membuatnya lebih baik atau lebih cepat, atau bagaimana hubungannya dengan sesuatu yang semuda Java Servlets.
Tetapi Servlets dibangun di atas bahasa pemrograman multithreaded sebagai lawan Node.js. Lalu bagaimana simpul.js bisa lebih cepat?
Jika seandainya 1000K pengguna meminta catatan database, maka seharusnya Node.js tidak lebih lambat dari Servlets.
Juga bukankah servlets memiliki keamanan yang lebih baik dibandingkan dengan Node.js?
javascript
java-ee
node.js
log N
sumber
sumber
Jawaban:
Anda sedang mencampur apel dan jeruk.
Servlet (atau warisan dari HttpServlet) memungkinkan Anda mengakses parameter permintaan HTTP dan merespons dengan sesuatu, melalui (atau di atas) implementasi server HTTP yang ada.
Meskipun menggunakan Javascript sebagai bahasa, Node.js berada pada level yang lebih rendah dari itu. Dimulai dari benar-benar mengimplementasikan server HTTP. Anda dapat terus melakukan lebih banyak hal tingkat tinggi di dalamnya, seperti aplikasi web.
Tentang multi-threading, itu tidak perlu. Server Node.js tidak lebih cepat karena multi-threading, mereka lebih cepat karena mereka tidak memblokir permintaan IO, sehingga mereka dapat terus memompanya dalam antrian, sambil melakukan hal-hal lain. Mereka hanya bekerja ketika ada pekerjaan yang harus dilakukan - mereka tidak menunggu - dan itu menyebabkan peningkatan kinerja yang serius, ternyata.
Adapun permintaan basis data, ini lebih banyak tentang kendala dalam model database dan API daripada tentang klien.
Adapun keamanan - itu benar-benar topik yang berbeda, dan pada akhirnya berada di tangan pengembang mana pun, tidak begitu banyak di perpustakaan.
sumber