Điểm mạnh của Node (một luồng + event loop) cũng là điểm yếu: mọi request chia sẻ một luồng chạy JS.
- Tác vụ CPU-bound làm nghẽn event loop: một vòng lặp nặng hay hàm đồng bộ tốn CPU sẽ chặn luồng, khiến mọi request khác phải chờ. Đây là lý do chính khiến Node không hợp cho việc tính toán nặng.
- Ví dụ nên tránh: xử lý ảnh/video, mã hóa/hash quy mô lớn, nén dữ liệu lớn, tính toán khoa học.
- Callback lồng nhau dễ rối (giảm nhẹ bằng
async/await).
Khi nào không nên dùng: workload chủ yếu là CPU-bound. Nếu vẫn dùng Node, hãy đẩy phần nặng sang worker_threads, child process, hàng đợi job, hoặc service riêng — để event loop luôn rảnh phục vụ I/O. Node tỏa sáng ở việc I/O-bound (API, realtime, proxy), không phải tính toán thô.