2012-05-14 27 views
10

Bất cứ ai có bất kỳ cái nhìn sâu sắc về cách GitHub đề với sự thất bại tiềm năng hoặc tạm thời không có sẵn của một máy chủ Redis khi sử dụng Resque?Hành vi lỗi Redis và Resque của GitHub?

Có những công cụ khác dường như đã đặt các giải pháp nửa phức tạp như một sự lưu giữ cho cụm lại bằng cách sử dụng vườn thú (xem https://github.com/ryanlecompte/redis_failoverSolutions for resque failover redis). Những người khác dường như có 'thất bại mans nghèo' mà chuyển nô lệ cho chủ trên tầm nhìn đầu tiên của các vấn đề kết nối mà không có sự phối hợp giữa các khách hàng redis (nhưng điều này có vẻ có vấn đề trong tình huống không có sẵn tạm thời).

Câu hỏi: Has Defunkt có bao giờ nói về cách GitHub xử lý Redis không? Có thực hành tốt nhất cho chuyển đổi dự phòng không liên quan đến sở thú không?

Bài đăng gốc về trạng thái khôi phục một phần hợp lý cho việc chọn Redis là khả năng phụ của redis, nhưng bài đăng không mô tả cách GitHub tận dụng điều này vì tất cả công nhân đều cần truy cập đọc + ghi vào Redis (xem https://github.com/blog/542-introducing-resque).

Trả lời

1

Thư viện cơ sở Resque không xử lý lỗi. Nếu một hộp chết ngay lập tức sau khi tắt tin nhắn, tin nhắn sẽ biến mất vĩnh viễn. Bạn sẽ phải viết mã của riêng bạn để xử lý các lỗi, điều này khá phức tạp.

https://github.com/resque/resque/issues/93

+0

Điều gần nhất với câu trả lời tôi đã nhìn thấy! Cảm ơn đã chỉ ra điều đó. Cuối ngày, mọi thứ tôi đã viết kể từ khi đăng bài gốc bằng cách sử dụng Resque hoạt động như vậy mà một sự thất bại của redis không quan trọng. Ví dụ. Tôi sẽ theo dõi các nhiệm vụ cụ thể có thể xảy ra khi sử dụng một mục nhập db riêng biệt để các công việc bị mất có thể được kiểm tra và chạy lại, cũng xây dựng các ứng dụng của tôi sao cho tất cả các công việc đã lên lịch sẽ không thành vấn đề. Nó sẽ giúp nếu điều này được ghi rõ ràng hơn bằng cách resque nhưng c'est la vie. –

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