Tôi có một nhà sản xuất mà tôi muốn phân phối công việc liên tục trên khắp người tiêu dùng bằng cách băm đồng nhất. Ví dụ, với các nút người tiêu dùng X và Y, các nhiệm vụ A, B, C phải luôn đi đến người tiêu dùng X, và D, E, F cho người tiêu dùng Y. Nhưng điều đó có thể thay đổi một chút nếu Z tham gia nhóm người tiêu dùng.Nhà sản xuất có thể làm việc liên tục với người tiêu dùng thông qua hàng đợi tin nhắn không?
Tôi không muốn xử lý logic của riêng mình để kết nối với các nút của người tiêu dùng, và đặc biệt là không quản lý các nút tham gia và rời khỏi nhóm, vì vậy tôi đã đi theo con đường sử dụng RabbitMQ. xếp hàng cho mỗi nút người tiêu dùng.
Một vấn đề mà tôi đang gặp phải là liệt kê các hàng đợi này, vì nhà sản xuất cần biết tất cả các hàng đợi có sẵn trước khi phân phối công việc. AMQP thậm chí không hỗ trợ hàng đợi danh sách, khiến tôi không chắc chắn về toàn bộ cách tiếp cận của mình. RabbitMQ và Alice (brokenly at the moment) thêm chức năng đó mặc dù: Is there an API for listing queues and exchanges on RabbitMQ?
Đây có phải là cách sử dụng khôn ngoan của Thỏ không? Tôi có nên sử dụng hàng đợi tin nhắn không? Có thiết kế tốt hơn để hàng đợi có thể nhất quán phân chia công việc của tôi cho người tiêu dùng, thay vì tôi cần phải làm điều đó?
Ngoài sự tò mò, tại sao bạn quan tâm nhiều đến tính nhất quán khi chia công việc? Như bạn nói, ánh xạ sẽ thay đổi khi người tiêu dùng được thêm hoặc xóa. – scvalex
Bạn có thể nói là "địa phương tham chiếu". Người tiêu dùng X không biết trước nó sẽ làm việc trên A nhưng nó sẽ có lợi nếu X luôn có nhiệm vụ bằng hoặc giống A. (Xin lỗi vì sự mơ hồ.) Dù sao, với mục đích của tôi, một chút dịch chuyển là khỏe. Những thay đổi trong hồ bơi nên rất hiếm. – Bluu