kursus komputer yg bagus - Waktunya turun ke bisnis! Sambil bercanda, kami mulai memahami topik ini sekarang.
Ini adalah salah satu bab paling penting dalam kursus karena memperkenalkan banyak konsep Node.js, yang sebagian besar akan baru bagi Anda. Oleh karena itu Anda perlu membaca bab ini di tempat yang tenang, secara bertahap, dan mungkin ada baiknya untuk membacanya lagi di hari berikutnya untuk memastikan bahwa Anda memahaminya dengan benar.
Dalam bab ini kita akan membuat aplikasi Node.js yang sebenarnya dari awal hingga selesai.
Anda akan mengetahui arti "tingkat rendah" dan kami harus mengelola semua bagian dari server web yang akan menangani permintaan HTTP pengunjung dan memberi mereka halaman web HTML.
Ini akan menjadi kesempatan bagi Anda untuk bereksperimen dengan callback terkenal yang saya ceritakan di bab pertama, fungsi-fungsi yang dijalankan segera setelah suatu peristiwa terjadi. Node.js penuh dengan mereka, jadi Anda tidak akan bisa menghindarinya! ;)
Server web dan utas
Saya pikir saya sudah mengatakannya berkali-kali, tapi saya rasa saya harus menyebutkannya lagi di sini: Node.js adalah tingkat rendah. Jadi tingkat rendah bahwa Anda harus melakukan hal-hal yang tidak biasa Anda lakukan untuk membuat program Anda berfungsi dengan baik.
Ketika Anda membuat situs web dengan PHP misalnya, Anda mengaitkan bahasa dengan server web HTTP seperti Apache atau Nginx. Masing-masing memiliki peran tersendiri dalam proses:
Apache mengelola permintaan HTTP untuk terhubung ke server. Perannya lebih atau kurang untuk mengatur lalu lintas masuk / keluar.
PHP menjalankan kode file .php dan mengirimkan hasilnya ke Apache, yang kemudian mengirimkannya ke pengunjung.
Karena beberapa pengunjung dapat meminta halaman dari server pada saat yang bersamaan, Apache bertanggung jawab untuk menyebarkannya dan menjalankan berbagai utas pada saat yang bersamaan. Setiap utas menggunakan prosesor yang berbeda pada server (atau inti prosesor) (lihat gambar selanjutnya).
Server Apache adalah multithread
Server Apache adalah multithread
Node.js tidak menggunakan server HTTP seperti Apache. Bahkan, terserah kita untuk membuat server! Bukankah itu hebat? : D
Tidak seperti Apache, Node.js adalah monothread. Ini berarti bahwa hanya ada satu proses dan satu versi dari program yang dapat digunakan pada satu waktu dalam memorinya.
Tapi saya pikir Node.js sangat cepat karena dapat mengelola banyak permintaan secara bersamaan. Jika itu monothread, bisakah hanya melakukan satu tindakan dalam satu waktu?
Ya, itu hanya dapat melakukan satu hal pada satu waktu dan karena itu hanya berjalan pada satu inti prosesor. Namun, ia melakukannya secara efisien, meskipun yang terakhir, dan masih jauh lebih cepat!
Ini disebabkan oleh sifat Node.js.yang berorientasi pada peristiwa. Aplikasi yang menggunakan Node tidak pernah duduk-duduk tanpa melakukan apa-apa. Segera setelah ada tindakan yang memakan waktu terlalu lama, program akan berpindah ke Node.js, yang akan melakukan tindakan lain sambil menunggu peristiwa terjadi untuk memberitahukan bahwa operasi telah selesai (lihat gambar selanjutnya).
0 comentários: