6

Hi tôi có thể tạo ba máy chủ RabbitMQ chạy trong cluster trên EC2Cách tải phân phối trong cụm RabbitMQ?

Tôi muốn mở rộng quy mô ra RabbitMQ cụm dựa trên việc sử dụng CPU nhưng khi tôi xuất bản thông điệp chỉ có một máy chủ sử dụng CPU và RabbitMQ-server khác không sử dụng CPU

Vậy làm thế nào tôi có thể phân phối tải trên cụm RabbitMQ

Trả lời

9

Cụm RabbitMQ được thiết kế để cải thiện khả năng mở rộng, nhưng hệ thống không hoàn toàn tự động.

Khi bạn khai báo hàng đợi trên một nút trong cụm, hàng đợi chỉ được tạo trên một nút đó. Vì vậy, nếu bạn có một hàng đợi, bất kể bạn xuất bản nút nào, thông báo sẽ kết thúc trên nút nơi hàng đợi cư trú.

Để sử dụng đúng cụm RabbitMQ, bạn cần phải chắc chắn rằng bạn làm những điều sau đây:

  • đã nhiều hàng đợi phân phối trên các nút, chẳng hạn rằng công việc được phân phối hơi đồng đều,
  • kết nối khách hàng của bạn các nút khác nhau (nếu không, bạn có thể kết thúc tất cả tin nhắn thông qua một nút) và
  • nếu bạn có thể, cố gắng để nhà xuất bản/người tiêu dùng kết nối với nút giữ hàng đợi họ đang sử dụng (để giảm thiểu chuyển tin nhắn trong cụm).

Ngoài ra, hãy xem High Availability Queues. Chúng giống như hàng đợi bình thường, nhưng nội dung hàng đợi được nhân đôi trên nhiều nút. Vì vậy, trong trường hợp của bạn, bạn sẽ xuất bản lên một nút, RabbitMQ sẽ phản chiếu các phát hành tới nút kia và người tiêu dùng sẽ có thể kết nối với một trong hai nút mà không lo lắng về việc bogging xuống cluster với chuyển nội bộ.

+0

Xin chào, scvalex. cho "có nhiều hàng đợi phân phối trên các nút, như vậy công việc được phân phối phần nào đồng đều", có cần thiết phải thêm một máy chủ Linux để chạy chương trình cân bằng tải để giải quyết chương trình không? Hoặc phải thay đổi mã nguồn của ứng dụng để thêm "rabbitmq" tất cả các nút tên thông tin vào chương trình để cân bằng tải? –

+1

Tôi muốn nói "thay đổi mã nguồn của ứng dụng để thêm 'rabbitmq' tất cả các nút thông tin tên vào chương trình để cân bằng tải", nhưng có một số người đã sử dụng cân bằng tải với thành công. – scvalex

+0

Trước khi tìm bài đăng của bạn, tôi nghĩ thỏmq rất mạnh. Nhưng sau đó, tôi nghĩ nó không tự động như bạn đã nói. Nó không phải là dễ sử dụng. –

Các vấn đề liên quan