Clustering with the Shoal Framework
by Diego Naya, Juan Pedro Danculovic
12/11/2007
Contents
o Learning Shoal's Basic Concepts and Architecture
Understanding Shoal's Architecture
Understanding Shoal's Design
Understanding Shoal Lifecycle Signals
Taking Advantage of Shoal's Failure Recovery
Understanding Distributed State Cache (DSC)
o Integrating Shoal into Your Application
Starting and Joining a Group
Sending Messages
Listening to the Group's Messages
Sharing Data using the DSC
Shutting Down
o Conclusion
o Resources
Shoal is an open source, Java-based generic clustering framework. It can be used in your applications to add clustering
functionalities like load balancing, fault tolerance, or both. Applications using Shoal can share data, communicate via
messages with other cluster nodes across the network, and notify of relevant events like the joining, shutdown, and failure of
a node or group of nodes. You can take appropriate measures and perform monitoring tasks when these events occur; Shoal
forwards a signal to your code to track these notifications.
Shoal is the clustering framework used by the Glassfish project to implement its application server clustering. One of the
benefits to your application is that Shoal abstracts away network details and the network communication API. Under the
hood, the default group communication provider uses JXTA for peer-to-peer reliability and scalability.
Shoal is a lightweight component; you can embed Shoal not only in Java EE applications, but in SE applications too.
In this article, we'll cover the Shoal architecture and its basic concepts. Then we'll illustrate how to integrate your own code
into the clustering infrastructure.
Learning Shoal's Basic Concepts and Architecture
We will now discuss the architecture of a Shoal cluster solution and the internal design of Shoal. This section also describes
main components, such as Signals and the Distributed State Cache (DSC).
Understanding Shoal's Architecture
评论0