Tôi đã bắt đầu mày mò với máy chủ HTTP của Node.js và thực sự thích viết Javascript phía máy chủ nhưng có điều gì đó khiến tôi không thể bắt đầu sử dụng Node.js cho ứng dụng web của mình.
Tôi hiểu toàn bộ khái niệm I / O không đồng bộ nhưng tôi hơi lo ngại về các trường hợp cạnh mà mã thủ tục rất tốn CPU chẳng hạn như thao tác hình ảnh hoặc sắp xếp các tập dữ liệu lớn.
Theo tôi hiểu, máy chủ sẽ rất nhanh cho các yêu cầu trang web đơn giản như xem danh sách người dùng hoặc xem một bài đăng trên blog. Tuy nhiên, nếu tôi muốn viết mã đòi hỏi rất nhiều CPU (ví dụ như trong phần cuối của quản trị viên) để tạo đồ họa hoặc thay đổi kích thước hàng nghìn hình ảnh, yêu cầu sẽ rất chậm (vài giây). Vì mã này không đồng bộ, mọi yêu cầu đến máy chủ trong vài giây đó sẽ bị chặn cho đến khi yêu cầu chậm của tôi được thực hiện.
Một gợi ý là sử dụng Nhân viên web cho các tác vụ chuyên sâu về CPU. Tuy nhiên, tôi e rằng nhân viên web sẽ khó viết mã sạch vì nó hoạt động bằng cách bao gồm một tệp JS riêng biệt. Điều gì sẽ xảy ra nếu mã chuyên sâu của CPU nằm trong phương thức của một đối tượng? Thật là tệ khi viết một tệp JS cho mọi phương pháp sử dụng nhiều CPU.
Một gợi ý khác là tạo ra một quy trình con, nhưng điều đó làm cho mã này thậm chí còn ít khả năng bảo trì hơn.
Bất kỳ đề xuất để vượt qua trở ngại (nhận thức) này? Làm thế nào để bạn viết mã hướng đối tượng sạch sẽ với Node.js trong khi đảm bảo các tác vụ nặng của CPU được thực thi không đồng bộ?