Node.js หรือ servlets [ปิด]


10

ฉันเคยได้ยินมากและอ่านเกี่ยวกับภาษาด้านเซิร์ฟเวอร์ Javascript เช่น Node.js และเห็นการเปรียบเทียบจำนวนมากในความโปรดปรานของโหนด

ฉันไม่เข้าใจสิ่งที่ทำให้ดีขึ้นหรือเร็วขึ้นหรือเกี่ยวข้องกับบางสิ่งบางอย่างที่โตเต็มที่เหมือน Java Servlets

แต่ Servlets ถูกสร้างขึ้นบนภาษาการเขียนโปรแกรมแบบมัลติเธรดซึ่งตรงข้ามกับ Node.js ถ้าอย่างนั้น node.js จะเร็วขึ้นได้อย่างไร?

ถ้าสมมติว่าผู้ใช้ 1000K สอบถามสำหรับบันทึกฐานข้อมูล Node.js ไม่ควรช้ากว่า Servlets

ยังไม่ servlets มีความปลอดภัยที่ดีขึ้นเมื่อเทียบกับ Node.js?


ทั้งกระบวนการและเธรดสามารถใช้เพื่อปรับขนาดแอ็พพลิเคชันใด ๆ สำหรับการใช้งานแบบมัลติคอร์ คุณไม่ต้องการทั้งคู่
Raynos

@Raynos ฟังก์ชั่น C ที่ถูกผูกไว้ไม่สามารถทำเกลียวได้หรือไม่? ฉันเพิ่งใช้บทบาทของ JS ในฐานะที่เป็นผู้ส่งสารอัตโนมัติรอคิวไม่ให้บล็อกสิ่งที่ระดับต่ำกว่า แต่ฉันยังไม่ได้อุ้งเท้าของฉันที่โหนด
Erik Reppen

คำตอบ:


12

คุณกำลังผสมแอปเปิ้ลกับส้มเช่นกัน

Servlets (หรือสืบทอดจาก HttpServlet) ช่วยให้คุณเข้าถึงพารามิเตอร์คำขอ HTTP และตอบกลับบางสิ่งผ่านทาง (หรือด้านบน) การใช้งานเซิร์ฟเวอร์ HTTP ที่มีอยู่

แม้ว่าการใช้ Javascript เป็นภาษา Node.js อยู่ในระดับที่ต่ำกว่า มันเริ่มต้นจากการนำเซิร์ฟเวอร์ HTTP มาใช้จริง คุณสามารถทำสิ่งที่มีคุณภาพสูงมากขึ้นได้เช่นในเว็บแอปพลิเคชัน

เกี่ยวกับมัลติเธรดไม่จำเป็น เซิร์ฟเวอร์ Node.js ไม่เร็วขึ้นเนื่องจากการทำเธรดหลายเธรดพวกเขาเร็วขึ้นเพราะพวกเขาไม่บล็อกคำขอ IO ดังนั้นพวกเขาจึงสามารถสูบฉีดมันต่อเนื่องในคิวขณะทำสิ่งอื่น ๆ พวกเขาทำงานเฉพาะเมื่อมีงานต้องทำ - พวกเขาไม่รอ - และนั่นทำให้เกิดการปรับปรุงประสิทธิภาพอย่างจริงจังเมื่อมันปรากฏออกมา

สำหรับการสืบค้นฐานข้อมูลนั้นเป็นเรื่องเกี่ยวกับข้อ จำกัด ในรูปแบบฐานข้อมูลและ API มากกว่าที่เกี่ยวกับไคลเอนต์

สำหรับเรื่องความปลอดภัย - มันเป็นหัวข้อที่แตกต่างกันจริง ๆ และท้ายที่สุดก็อยู่ในมือของนักพัฒนา แต่อย่างใดไม่ได้อยู่ในห้องสมุดมากนัก


3
Servlet 3 รองรับ asynch IO เหมือนกับ Node
jiggy

3
jiggy - มีความแตกต่างอย่างมากระหว่างการสนับสนุนบางสิ่งและการออกแบบจากพื้นดินเพื่อบางสิ่งบางอย่าง โหนดอะซิงโครนัสเป็นแบบหลัง
แจ็ค

1
@Yam Marcovic ฉันยังคงไม่เข้าใจว่าคุณหมายถึงอะไรโดย"พวกเขาไม่บล็อกคำขอ IO"แม้ใน JEE เธรดจะทำงานอย่างอิสระที่จะไม่หยุดคำขออื่นที่จะให้บริการ เนื่องจากมีการสร้างเธรดใหม่ตามคำขอ ฉันกำลังทำให้รู้สึก?
โอลิเวอร์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.