2011-10-05 25 views
8

Từ trang chính của bộ điều khiển, chúng đề cập đến việc chạy với nhiều máy chủ công việc, vì vậy nếu máy chủ công việc bị chết, khách hàng có thể nhận một máy chủ công việc mới. Với tuyên bố và sơ đồ dưới đây, có vẻ như các máy chủ công việc không giao tiếp với nhau.Thực hành tốt nhất cho các máy chủ công việc HA gearman

Câu hỏi của chúng tôi là điều gì xảy ra với những công việc được xếp hàng đợi trong máy chủ công việc đã qua đời? Phương pháp hay nhất để có tính sẵn sàng cao cho các máy chủ này để đảm bảo công việc không bị gián đoạn do lỗi là gì?

Bạn có thể chạy nhiều máy chủ công việc và yêu cầu khách hàng và nhân viên kết nối với máy chủ công việc có sẵn đầu tiên mà họ được định cấu hình. Bằng cách này, nếu một máy chủ công việc bị chết, khách hàng và nhân viên sẽ tự động chuyển sang máy chủ công việc khác. Bạn có thể không muốn chạy quá nhiều máy chủ công việc, nhưng có hai hoặc ba là một ý tưởng tốt cho dự phòng.

enter image description here

Source

Trả lời

2

Theo như tôi biết không có cách nào thích hợp để xử lý việc này vào lúc này, nhưng miễn là bạn chạy cả hai máy chủ công việc với hàng đợi vĩnh viễn (sử dụng MySQL hay cách khác kho dữ liệu - chỉ cần không sử dụng cùng một hàng đợi thực tế cho cả hai máy chủ), bạn có thể chỉ cần khởi động lại máy chủ công việc và nó sẽ tải hàng đợi của nó từ cơ sở dữ liệu. Điều này sẽ cho phép tất cả các nhiệm vụ được xếp hàng đợi được gửi đến các nhân viên có sẵn, ngay cả sau khi máy chủ đã chết.

Tuy nhiên, không có cách tự động thực hiện điều này khi máy chủ công việc bị hỏng, vì vậy nếu cả máy chủ công việc và kho dữ liệu bị hỏng (máy chủ chạy cả cục bộ sẽ bị hỏng) Trực tuyến.

Hàng đợi vĩnh viễn chỉ được đọc khi khởi động (và được chèn/xóa khỏi khi các tác vụ được gửi và hoàn thành).

Tôi không chắc về độ phức tạp cần thiết để thêm chức năng như vậy vào thực tế, nhưng đơn giản "nhiệm vụ được thêm vào, nhiệm vụ được giao, hoàn thành nhiệm vụ" - thông báo giữa các máy chủ không quá phức tạp để xử lý .

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