Group Communication Services & Service Spaces Overview
Group Communication Services
Each node hosts a Group Communication component, abstracted by:
- org.codehaus.wadi.group.Dispatcher; and
Group communication components see each others and can dispatch messages, more accurately org.codehaus.wadi.group.Envelope, to each others.
WADI provides four implementations of the Group Communication API, defined in wadi-group:
- in-vm: in JVM implementation for testing purposes.This implementation is in wadi-group;
- Tribes: leverage Tribes as the actual group communication implementation. This implementation is in wadi-tribes;
- JGroups: leverage JGroups as the actual group communication implementation. This implementation is in wadi-jgroups; and
- ActiveCluster: leverage ActiveCluster as the actual group communication implementation. This implementation is in wadi-activecluster.
Service Spaces are components building on top of the above group communication infrastructure. They provide a logical group communication service,
which restricts the view that clients have of the cluster to the sub-set of the nodes hosting a given Service Space.
For instance, Service Space 1 is hosted by Node 1 and Node 3. Clients on Node 1 using the logical group communication service of Service Space 1
only see Node 3. Also, they can only dispatch messages to Node 3.
Service Spaces are used to share the physical group communication services of a node between multiple applications, e.g. Web-applications.