Banyak siswa mungkin pernah mendengar tentang nodeJ dan tahu bahwa itu dapat menjalankan JavaScript di server, tetapi mereka mungkin tidak terlalu jelas tentang skenario penggunaannya. Baru -baru ini, mereka juga telah belajar nodej, jadi saya membuat ringkasan;
Keuntungan Nodejs:
Ada banyak bahasa sisi server (PHP, Java, ASP.NET). Apa masalahnya? Bahasa sisi server saat ini membuat utas untuk setiap tautan pengguna ketika pengguna mengakses server, tetapi setiap utas mengkonsumsi sekitar 2m memori. Jika server dengan memori 8G dapat menautkan sekitar 4.000 pengguna. Jika jumlah pengguna memiliki sejumlah besar tautan, jumlah server harus ditingkatkan. Selain itu, ada banyak cara bagi pengguna untuk menautkan pada saat yang sama (seperti aplikasi, halaman web pada saat yang sama), yang melibatkan masalah berbagi server, jadi bagaimana server mendukung jumlah maksimum pengguna pada saat yang sama menjadi masalah;
NodeJS memodifikasi metode tautan klien-ke-server untuk menyelesaikan masalah ini. Itu tidak membuat utas baru untuk setiap klien, tetapi memulai acara yang diproses secara internal untuk setiap tautan klien. Oleh karena itu, NodeJs memiliki kemampuan untuk menangani tautan klien hingga puluhan ribu pengguna secara bersamaan;
NodeJs cocok untuk aplikasi pengembangan:
Ketika suatu aplikasi perlu memproses sejumlah besar input/output bersamaan, dan tidak memerlukan pemrosesan yang sangat kompleks dalam aplikasi sebelum mengirimkan respons kepada klien, kami harus mempertimbangkan untuk menggunakan nodej untuk pengembangan aplikasi, misalnya:
1. Server obrolan: Jika ada banyak orang yang mengobrol, tautan bersamaan antara pengguna dan server besar, tetapi pemrosesan data di server tidak rumit;
2. Server situs web layanan komprehensif dan situs web e-commerce: Di sisi server dari jenis situs web ini, seringkali mungkin untuk menerima hingga ribuan data per detik dan perlu menulis data ini ke database. NodeJs dapat dengan cepat menulis data ini ke dalam cache melalui mekanisme antriannya, dan kemudian mengambil data dari area cache dan menulisnya ke database melalui setiap pemrosesan terpisah. Jika itu adalah server lain (seperti server Apache atau server Tomcat), karena server ini menggunakan mekanisme pemblokiran I/O, setiap bagian data perlu ditulis dalam database untuk sementara waktu (dan tunggu sampai yang sebelumnya selesai sebelum yang ditulis ke dalam data ini, tetapi nodejs menggunakan waktu yang tidak menunggu untuk waktu yang tidak akan ditunggu-tunggu untuk setiap waktu yang harus ditulis dengan data.
Meringkaskan:
Sistem yang sedikit lebih besar tidak dapat ditangani oleh bahasa pengembangan. Ini sering dicampur dengan beberapa jenis, seperti C dan C ++ untuk pengembangan sisi server, Java untuk logika bisnis, PHP untuk tampilan front-end, dan juga memerlukan middleware pesan, dll.
NodeJs dapat dengan cepat membuat prototipe di sisi server (ternyata hanya hal-hal yang dapat dilakukan oleh C-System dan Java, dan kinerjanya masih sangat tinggi), dan jumlah kode akan relatif kecil; Poin lainnya adalah keunggulan sintaksnya, penutupan JS, dll. Tetapi tidak cocok untuk pemrosesan intensif CPU, dan hanya dapat diselesaikan dengan berbalik. Dikatakan bahwa seseorang akan membagikan hasil penelitian ini di QCON kali ini, sehingga Anda dapat memperhatikannya.
Setiap bahasa memiliki bidang yang cocok. Tidak perlu memaksa bahasa untuk menyelesaikan segalanya. Ini memiliki karakteristik bahasa lain. Hanya dengan terus -menerus tradeoff adalah tujuannya.
Ini semua adalah ringkasan yang terlihat dalam seri ini, saya berharap dapat memperbaikinya