Tôi đã đọc về Sự cố C10K và đặc biệt lưu ý là phần đề cập đến I / O của máy chủ không đồng bộ. http://www.kegel.com/c10k.html#aio
Tôi tin rằng điều này khá nhiều tóm tắt những gì Node.js làm trên máy chủ, bằng cách cho phép các luồng xử lý các yêu cầu của người dùng trong khi dựa vào các ngắt I / O (sự kiện) để thông báo các luồng công việc đã hoàn thành, thay vì luồng xử lý chịu trách nhiệm cho CPU đầy đủ. Chuỗi có thể tiếp tục với những thứ khác (không chặn) và được thông báo khi hoàn thành công việc (ví dụ: tìm thấy tệp hoặc video bị nén).
Điều này sau đó có nghĩa là một luồng 'có sẵn' hơn cho các socket và do đó cho người dùng trên máy chủ.
Sau đó, tôi tìm thấy cái này: http://teddziuba.com/2011/10/st dán-talk-on-event-loops.html
Người viết ở đây tuyên bố rằng mặc dù khung điều khiển sự kiện (luồng bị gián đoạn), có thể giải phóng các luồng, nhưng nó không thực sự làm giảm số lượng công việc mà CPU phải làm! Lý do ở đây là nếu người dùng yêu cầu nén video họ đã tải lên, CPU vẫn phải thực hiện công việc này và sẽ chặn trong khi thực hiện (vì đơn giản, hãy quên việc xử lý song song ở đây - trừ khi bạn biết rõ hơn!).
Tôi là một lập trình viên đơn giản, không phải là quản trị viên máy chủ hay bất cứ thứ gì tương tự. Tôi chỉ muốn biết: Node.js là một món quà từ các vị thần của 'điện toán đám mây' hay nó hoàn toàn là không khí nóng, và sẽ không thực sự tiết kiệm thời gian và / hoặc tiền của các công ty bằng cách cải thiện khả năng mở rộng?
Cảm ơn nhiều.