18

I am looking for a library that provides the most basic clustering requirements. This library should hopefully come detached from a full blown state replication solution (ZooKeeper), since the state replication requirements are very minimal.

  1. Discovery of other cluster members using seeding and gossiping. (networks without multicast)
  2. Fail-over detection algorithm for LAN and WAN networks based on REST over HTTP/S. (Firewall friendly by design, multi-site clustering).
  3. Quorum based leader election, including split-brain detection. (multi-site clustering)
  4. Hopefully written in Java, or JVM compatible language.
  5. Reads/Writes only from/to the leader (any write to leader node is replicated to all other nodes)
  6. Negligible amount of read/write traffic.
itaifrenkel
  • 1,578
  • 1
  • 12
  • 26

2 Answers2

4

Last I looked(a few years back) JGroups offered a nice collection of utilities for creating and managing clusters. It's established as part of JBoss but comes with very little attached(used to anyway). Not sure it ticks all the boxes, but worth a check.

Nitsan Wakart
  • 2,841
  • 22
  • 27
4

JGroups cannot use HTTP connections; it manages clustering on an IP level by UDP (by multicast) or TCP (by one of several methods, including gossip and relay). Use one of the TCP methods to use JGroups over a WAN.

william.berg
  • 85
  • 3
  • 14