Clustering is a Good Thing, because it allows scalability without the
exponential price of huge server boxes.
The problem is that Shaman is made of several high-level components
(like Cocoon Webapp or Tomcat HTTP server), but there is no uniform
clusterization scheme. Worse, those which have clustering features
don't provide anything for "hot" data replication,
when data is a program (like a dynamic page for Web front-end),
or End-User data (like a course to be published).
So, our decision is to not support replication
Nevertheless, our design takes care of an hypothetical
"let's clusterize it" scenario.
The three subsystems (Spirit, Insight, Legend) are designed to run on different physical hosts. This is, by itself, a rudimentary approach of load-balancing.
Slide client API considers a URI as a namespace. This implicitly allows several WebDAV servers.Spirit
Cocoon 2 can virtually take advantage of Tomcat's load balancing
The replication features that Insight could offer depend of the persistence mechanism used internally. Prevayler allows this, but it would require much addtional work.Conclusion
We'll wait to see how Shaman behaves in a production context before
(eventually) studying a replication solution.