2012-12-19 6 views
19

Tôi đang tìm thư viện cung cấp các yêu cầu phân cụm cơ bản nhất. Thư viện này hy vọng sẽ tách ra khỏi một giải pháp sao chép trạng thái toàn diện (ZooKeeper), vì các yêu cầu nhân rộng của tiểu bang rất nhỏ.Cuộc bầu cử lãnh đạo và thư viện java phát hiện chuyển đổi dự phòng

  1. Khám phá các thành viên khác trong nhóm bằng cách sử dụng gieo hạt và tán gẫu. (mạng không có multicast)
  2. Thuật toán phát hiện lỗi vượt quá cho mạng LAN và WAN dựa trên REST qua HTTP/S. (Tường lửa thân thiện theo thiết kế, phân cụm nhiều trang).
  3. Cuộc bầu cử cấp lãnh đạo dựa trên đại biểu, bao gồm phát hiện phân chia bộ não. (nhóm nhiều trang)
  4. Hy vọng được viết bằng ngôn ngữ Java hoặc ngôn ngữ tương thích JVM.
  5. Chỉ đọc/Chỉ ghi từ/đến người dẫn đầu (bất kỳ ghi vào nút dẫn đầu nào được sao chép cho tất cả các nút khác)
  6. Lượng lưu lượng đọc/ghi không đáng kể.
+0

Nếu bạn không muốn ZooKeeper, tôi đoán [curator] (https://github.com/Netflix/curator) không phải là một lựa chọn? –

+0

Đó là một quá mức cần thiết. ZooKeeper sao chép hoạt động chủ động có sự cân bằng khả năng mở rộng của nó. – itaifrenkel

Trả lời

4

Cuối cùng tôi đã xem (một vài năm trước) JGroups cung cấp một bộ sưu tập các tiện ích thú vị để tạo và quản lý các cụm. Nó được thành lập như là một phần của JBoss nhưng đi kèm với rất ít đính kèm (được sử dụng để anyway). Không chắc chắn nó đánh dấu tất cả các hộp, nhưng đáng để kiểm tra.

+0

Có ví dụ nào về việc sử dụng các nhóm trên wan không? Nó có thể được sử dụng với http như kết nối mạng không? – itaifrenkel

4

JGroups không thể sử dụng kết nối HTTP; nó quản lý phân cụm trên một mức IP bằng UDP (bằng multicast) hoặc TCP (bằng một trong nhiều phương pháp, bao gồm gossip and relay). Sử dụng một trong các phương thức TCP để sử dụng JGroups qua WAN.