Skip to main content

Dynamic Scalable Clustering

Posted by hamada on October 6, 2007 at 3:00 PM PDT

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
       Multi Cluster Support
    • 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.

Related Topics >>