Tolong beritahu saya jika:
- Node.js akan membuat situs kami lebih cepat!
- Node.js akan mengkonsumsi lebih sedikit sumber daya server, kita dapat menghemat uang!
- Node.js akan membuat kita lebih produktif!
- Node.js berarti kita dapat berbagi kode JavaScript sisi klien dan server.
Untuk memperjelas, kami menulis ulang server frontend, yang akan berbicara dengan aplikasi Ruby on Rails kami yang ada sebagai API. Sementara itu, kami akan mengubah aplikasi Ruby on Rails kami menjadi layanan.
Lebih detail tentang arsitektur yang ada:
- Memcached untuk cache sebagian HTML
- Redis untuk sesi, dan beberapa caching data terstruktur
- Master tunggal MySQL , banyak budak
- Ada satu meja besar yang menerima banyak penulisan (bayangkan polling)
- Kalau tidak sebagian besar membaca.
- MongoDB untuk beberapa metadata
- Ruby on Rails 3.0
- nginx dan Unicorn
architecture
ruby-on-rails
node.js
rewrite
pengguna88487
sumber
sumber
Jawaban:
Sebagian besar pertanyaan yang Anda ajukan tidak dapat dijawab tanpa konteks, dan sedikit banyak diperdebatkan manajemen telah membuat pilihan untuk Anda ... kecuali jika Anda bertanya 'harus saya berhenti dan mencari pekerjaan baru dalam menghadapi semua perubahan ini ? '
Jika Anda akan berusaha keras, saya sarankan Anda membaca posting ini pada topik: Cara Bertahan Menulis Ulang Tanpa Kehilangan Ketangkasan Anda .
Saya baru-baru mulai menyusuri jalan menulis ulang sedikit logika server di node.js. Alasan utama adalah saat ini ditulis dalam. NET dan kami ingin bermigrasi dari lingkungan MS di trek.
Pengalaman saya sejauh ini positif, Anda akan memiliki kurva belajar awal dengan semua non-blocking-ness itu tetapi setelah Anda melewati itu sebenarnya cukup menyenangkan untuk kode masuk .. Saya tahu, MENYENANGKAN!
Memang memiliki sisi gelap, setiap orang dan anjingnya yang telah melakukan beberapa pengembangan front end dengan JavaScript - dan itu akan menjadi setiap pengembang front-end saya harap - menjadi sedikit bersemangat ketika Anda menyebutkan bahwa node.js adalah 'server side javascript 'Namun itu tidak berarti pengembang ujung depan akan memiliki pengalaman yang diperlukan untuk menulis aplikasi sisi server yang baik.
Untuk satu hal yang Anda pertimbangkan adalah bahwa kesalahan fatal akan menjatuhkan seluruh aplikasi karena sifatnya yang tidak berulir, sehingga taruhannya sedikit lebih tinggi dan Anda harus secara eksplisit memeriksa dan menangkap semuanya.
Bagi mereka yang telah melakukan front dan back - dan menikmati keduanya - tidak harus mengubah konteks mental dari bahasa front end ke back end adalah bonus nyata yang saya pikir pada akhirnya akan meningkatkan produktivitas di tim kami.
sumber
Yah, saya tidak berpikir bahwa menulis ulang aplikasi adalah ide yang bagus kecuali jika kinerjanya buruk. Untuk menjawab pertanyaan Anda:
Node.js bukan sihir. Aplikasi Anda memiliki sejumlah besar pengguna, jadi tidak ada cara untuk memastikan bahwa itu akan membuatnya lebih cepat.
Yah, ya, Node.js memang mengkonsumsi lebih sedikit sumber daya server. Jadi Anda tidak hanya dapat menghemat uang pada sumber daya, tetapi Anda juga dapat melakukan lebih banyak dengan yang sudah ada. Ini sebagian besar karena sifat single-threaded dari Node.js. Tidak ada overhead untuk utas tambahan.
Sekali lagi Node.js bukanlah sihir. Karena itu, mungkin ada beberapa kebenaran di dalamnya. Node.js memiliki komunitas yang sangat aktif yang telah menciptakan ratusan modul untuk setiap tugas yang mungkin. Jadi sangat mungkin sebagian besar pekerjaan telah dilakukan untuk Anda. Anda hanya perlu menyatukan potongan-potongan itu.
Secara teoritis, ya. Karena Node.js adalah JavaScript, Anda dapat berbagi kode antara klien dan server. Tapi saya tidak tahu persis apa yang akan dibagikan. Saya belum menulis kode apa pun yang dapat digunakan kembali pada klien. Hal-hal yang kami lakukan di server biasanya tidak ada hubungannya dengan klien. Yang lebih penting bagi saya adalah kurangnya saklar konteks. Saya merasa lebih mudah untuk kode pada klien dan server dalam satu bahasa.
Karena Node.js adalah single-threaded, kecuali jika dikonfigurasi secara eksplisit untuk melakukannya, Node.js tidak dapat memanfaatkan banyak CPU .
Lihatlah komentar juga. Mereka memberikan beberapa wawasan yang baik tentang cara kerja Node.js.
sumber