Chúng tôi đang phát triển một ứng dụng web với khoảng 50% yêu cầu viết, chúng tôi sẽ đẩy dữ liệu vào nhiều cửa hàng dữ liệu và chèn và cập nhật số lượng đáng kể các bản ghi trong các cửa hàng dữ liệu đó . Để cải thiện thời gian phản hồi, chúng tôi muốn xử lý các yêu cầu như vậy một cách không đồng bộ trong nền.Resque hoặc Gearman - chọn công cụ phù hợp cho công việc trong nền
Ứng dụng web của chúng tôi đang được viết bằng Ruby on Rails.
Hai giải pháp mà tôi đang hướng tới là Resque và Gearman.
Resque: Thông tin thêm tại đây: http://github.com/blog/542-introducing-resque Resque có vẻ rất phù hợp với Ruby và đặc biệt có nghĩa là xử lý công việc nền. "Các công việc nền có thể là bất kỳ lớp hoặc mô-đun Ruby nào đáp ứng để thực hiện. Các lớp hiện tại của bạn có thể dễ dàng được chuyển đổi thành công việc nền hoặc bạn có thể tạo các lớp mới đặc biệt để làm việc."
Gearman: Nó không có ý nghĩa đặc biệt chỉ dành cho các công việc nền để xử lý không đồng bộ, nhưng đó là một cái gì đó nó chắc chắn có thể làm. Rõ ràng là mạnh mẽ hơn, hoặc có vẻ như vậy. Một ưu điểm khác của Gearman là trong khi mã máy khách của bạn có thể ở trong Ruby, mã công nhân có thể ở trong đó, ví dụ, PHP. Mặc dù hiện tại chúng tôi hoàn toàn là ứng dụng Ruby on Rails, những người biết nếu trong tương lai chúng tôi có thể muốn sử dụng PHP hoặc một cái gì đó khác tùy thuộc vào công việc trong tầm tay.
Bạn sẽ đề xuất điều gì? Bạn có kinh nghiệm với một trong hai người không? Tôi nên nhớ những thách thức sản xuất thực tế trong cuộc sống khi lựa chọn giữa hai? Và tôi thậm chí so sánh táo với táo ở đây?
Tôi không đồng ý với trạng thái đã đóng. Q được định dạng tốt và có đủ chi tiết để cung cấp câu trả lời đúng. Các cuộc tranh luận được hoan nghênh và sẽ cung cấp thêm một lượt xem cho giải pháp. – michaelbn