Dynamic Scalable Clustering
In today's information technology world, fault tolerance has become an expected system characteristic, as demands on such systems, not only requires the availability of data, but also the efficiency of such systems.
By clustering a set of servers, with minimal, or no configuration, through a dynamic discovery protocol, a compute cluster can be formed to increase compute power, availability, security, and geographical distribution.
As a fault tolerance strategy, the Shoal clustering framework devises a self organization protocol, allowing nodes to autonomously elect a master for the cluster (based on discovery views), as well as candidates in the case of master failure. This allows for dynamic deployment of clusters as well as expanding/shrinking an existing cluster.
Shoal, the cluster management framework, provides the foundation for network configuration and dynamic and autonomous cluster formation. The goals of the framework are:
- Near Zero-configuration
- Multi cluster support
- Application specific clustering, eg. load balancer/HA cluster
- Cluster traffic isolation
- Added security
- improved resource utilization
- Dynamic clustering
- Hot pluggable
- Simplified addressing
- By cluster, node, and channel name
- Adaptive communication channels
- Fault tolerance
- Transparent multi protocol support (tcp, udp, http)
Shoal 1.0 was release August 30th, and is utilized in GlassFish V2, which was released September 17th, for clustering and http session HA.
Currently the following features are being worked on :
- Enabling multi cluster support
- Enabling cross sub-net and cross firewall deployment
- Solidifying lightweight cluster multicast
We encourage community participation in enabling and identifying missing features by joining and participating in the shoal community.