Kue nodejs
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách đặt Hàng đợi hoặc xếp hàng trên NodeJ bằng Kue. Queue hay xếp hàng là một thủ thuật rất hữu ích khi các ứng dụng web của chúng ta nhận được rất nhiều yêu cầu. Tại sao sử dụng hàng đợi? Chưa kể thời gian chờ của một quy trình có thể dẫn đến mất dữ liệu không thể tránh khỏi do máy chủ không thể phục vụ các yêu cầu đến. Rất nhiều giải pháp có thể được sử dụng để triển khai hàng đợi trong hệ thống ứng dụng web của chúng tôi. Chỉ là Kue dễ cài đặt hơn trong Node. js thay vì sử dụng các công nghệ khác như Kafka và RabbitMQ Yêu cầu
Sự khó khăn
Nội dung hướng dẫnBây giờ chúng ta sẽ tiến hành cài đặt trước cho một số công cụ cần thiết (bạn nào đã cài đặt rồi thì bỏ qua một số phần cài đặt bên dưới nhé)
Sau đó bật máy chủ Redis trong bảng điều khiển đầu tiên
Sau đó bật mongodb trong bảng điều khiển thứ hai _______2_______Bây giờ hãy tạo một tệp có cấu trúc sau (bỏ qua node_modules vì thư mục được tạo tự động)
Ở đây chúng ta sẽ tạo một model để map vào collection trong MongoDB. Chúng tôi sẽ tạo một bộ sưu tập có tên là nhật ký hoạt động nơi chúng tôi có thể lưu trữ các nhật ký hoạt động khác nhau của người dùng đối với trang mà anh ấy đã truy cập. Những ngôi đền là như vậy Bộ sưu tập bao gồm bốn trường với hai trường bổ sung được tạo_at và cập nhật_at. Vui lòng tạo đoạn mã sau trong tệp models/activity_log. js
Mô hình này sẽ được sử dụng trong công nhân. tập tin js
Bây giờ chúng ta sẽ viết code xử lý tác vụ với cluster mode. Nơi chúng tôi sẽ sử dụng số lượng CPU thuộc sở hữu của máy chủ. Vui lòng tạo đoạn mã sau trong worker. tập tin js
Trong đoạn mã trên, chúng tôi tạo một đối tượng Kue và khởi tạo cụm. Sau đó nếu cluster là master thì chạy Kue server, ngược lại nếu là con thì tạo instance xử lý task sẽ đến Kue. Vì vậy, nếu có một công việc với đồng thời 10 và số lượng lõi của máy chủ là 4 thì tổng số đồng thời sẽ là 40 Trong đoạn mã trên, có hai công việc. Đó là thử nghiệm công việc với đồng thời 4 chỉ hiển thị thiết bị xuất chuẩn trong bảng điều khiển và có độ trễ 1000 ms. Sau đó là các công việc lưu trữ dữ liệu vào MongoDB. nơi anh ta có 10 đồng thời và độ trễ hơn 100 ms. Tập tin này sẽ được sử dụng trong ứng dụng. js Bây giờ hãy bật công nhân. js trên các bảng điều khiển khác
Bây giờ chúng ta sẽ tạo mã để sử dụng các công việc được xác định trong worker. js. Việc sử dụng nó đủ đơn giản và không khiến chúng ta ngừng sử dụng nó. Đơn giản chỉ cần gọi tạo () và bỏ qua tên công việc và các tham số của nó
Để chạy mã demo, vui lòng chạy lệnh này trên bảng điều khiển khác ________số 8_______Nhiệm vụ giám sát trên Kue UI Để theo dõi, bạn có thể mở tại http. // máy chủ cục bộ. 3000. Ở đó bạn có thể thấy năm tab bao gồm Không hoạt động, Đang hoạt động, Bị trì hoãn, Không thành công, Hoàn thành. Không cần làm mới trang, bạn có thể xem cập nhật trực tiếp vì nó đã sử dụng websocket. Bạn cũng có thể xem kết quả thông qua ứng dụng khách mongo và vui lòng tính toán số tiền xem có phù hợp với những gì được gửi đến công việc hay không
Đang cố gắng thay đổi tham số Kue Bây giờ chúng tôi cũng muốn thử thay đổi tham số đồng thời của các công việc Activity_logs thành 500 và thực hiện 50000 tác vụ được gửi tới Kue Sử dụng hàng đợi có thể hữu ích, đặc biệt là Node. js chính nó là một trong những ngôn ngữ lập trình không đồng bộ. Tất nhiên điều này trở thành hai lợi thế lớn khi chúng ta sử dụng Node. js và Kue. Chỉ là chúng ta cần chú ý một số điều khi sử dụng Kue này Chúng tôi khuyên bạn không nên có mã nặng trong một tác vụ, nếu bạn muốn có một mã nặng thì tốt hơn là chia nhỏ lại để tác vụ khác Đã đăng trên Không tưởng. io - Trao thưởng cho những người đóng góp mã nguồn mở #lập trình #nodejs #javascript #task 5 năm trước trong #utopian-io của vanessaayumi (36)
Trả lời 1 Loại. [-] Đóng góp của bạn không thể được phê duyệt vì nó không tuân theo Quy tắc Utopian và bị coi là đạo văn. Đạo văn không được phép trên Utopian và các bài đăng liên quan đến đạo văn sẽ bị gắn cờ và ẩn vĩnh viễn Bạn đã đạo văn hướng dẫn từ http. // quayan. com/menangani-antrian-task-dengan-kue-di-node-js/ (tín dụng cho @knowledges) Kue trong Nodejs là gì?Kue là hàng đợi công việc ưu tiên giàu tính năng cho nút. js được hỗ trợ bởi redis . Một tính năng chính của Kue là giao diện người dùng rõ ràng để xem và quản lý các công việc đã xếp hàng, đang hoạt động, thất bại và đã hoàn thành.
BullMQ là gì?BullMQ là một Nút. Thư viện js triển khai hệ thống hàng đợi nhanh và mạnh mẽ được xây dựng trên Redis giúp giải quyết nhiều kiến trúc vi dịch vụ thời hiện đại . |