Tha thứ sự thiếu hiểu biết của tôi, nhưng đến từ một nền Django/Python tôi có thể thấy lợi ích to lớn của việc có hàng đợi Celery làm việc thông qua các quy trình chậm hơn trong nền trong khi giao diện web được cập nhật nhanh nhất có thể.Nhân viên JS của nút - bất kỳ nhu cầu nào đối với họ?
Tuy nhiên, với Node hoạt động không đồng bộ, trường hợp sử dụng cho hệ thống xếp hàng có giảm đi rất nhiều không?
Ví dụ:
1 - một bài viết sử dụng một cái gì đó vào trang web, 2 - trang web đáp ứng, sau đó mail quản trị viên.
Trong Django, bạn sẽ gửi thư quản trị đến một công việc, để được thực hiện sau đó, và sau đó trả lời yêu cầu. Cần tây gửi thư trong nền.
Trong nút, bạn gọi cho người gửi thư của mình, sau đó trả lời yêu cầu. Người gửi thư gửi một cuộc gọi lại để nói DONE hoặc không, theo đó người dùng đã xem phản hồi.
Vậy tại sao tôi nên sử dụng hàng đợi có Nút? Tôi đoán khi mọi thứ phức tạp hơn thế này - có vẻ như đối với những thứ tầm thường như thư giao dịch, không cần thiết ..
Hoặc tôi hiểu nhầm nó hoạt động như thế nào !?
Vì vậy, nếu tôi muốn làm một cái gì đó như gọi một API bên ngoài để xác thịt người dùng thông tin - ví dụ: thực hiện một số mã hóa địa lý ngược lại với yêu cầu gọi đến bộ mã hóa địa lý của Google. Yêu cầu này sẽ không ngăn cản quá trình Node của tôi cho yêu cầu gửi đến sau đây? Nhưng nếu có rất nhiều CPU sử dụng nó sẽ ..? –
Bạn sẽ cần điểm chuẩn, nhưng có. Đó là khoảng ý tưởng. Có một cái nhìn ở đây để có được một số ý tưởng về bao nhiêu có thể được thực hiện trong khi chờ đợi cho một hoạt động io: http://www.eecs.berkeley.edu/~rcs/research/interactive_latency.html. Nút chỉ thực hiện 1 điều tại một thời điểm, vì vậy nếu nó là số crunching, nó không thể phục vụ yêu cầu.Ngay khi bạn thực hiện bất kỳ io nào, bạn sẽ tự do thoát khỏi nút và thực hiện các công việc khác. – AndyD
Cải tiến độ rõ ràng: nếu việc thực hiện song song của bạn liên quan đến việc đợi HTTP hoặc các yêu cầu hệ thống tập tin trở lại, thì I/O không đồng bộ của nút sẽ đủ rộng cho bạn. Nếu việc thực thi song song của bạn liên quan đến việc chạy các phép tính lớn cục bộ (chuyển mã video; chạy mô phỏng) thì bản chất luồng đơn của nút sẽ ngăn bạn ra ngoài và bạn sẽ cần phải quay công việc cho một nhân viên nếu có thể. – Dave