[opencms-dev] Clustering Solutions
Andrew Kerr
akerr at fluid.com
Fri Feb 25 17:16:07 CET 2005
Greetings,
We have been experiencing performance problems with OpenCMS under
extremely heavy load. As such, we thought we should investigate the
possibility of clustering our OpenCMS server.
Unfortunately, perusal of this mailing list has made it clear that
OpenCMS 5.0.1 does not support clustering.
We've been trying to think of other ways to get the benefits of
clustering using OpenCMS as it stands today. Our site consists of both
statically exported content, as well as dynamic content that is served
directly out of OpenCMS. Here's what we're thinking:
1) Set up separate Apache/Tomcat/OpenCMS instances on two different
machines. The two instances will share a MySQL instance on a third machine.
2) Some sort of load balancer will distribute normal site visitors to
the two sites.
3) All statically exported content will be published to a single
document root that is shared between the two machines, via NFS, rsync,
or some other synchronization mechanism. This means that any newly
published content that is statically exported will immediately be
available to both servers.
4) Content management tasks will be performed only on one of the OpenCMS
instances. Let's call this the primary instance.
5) When a publish is performed, the primary instance will notify the
secondary OpenCMS instance, which will then clear its Flex cache, so
that users being served by the secondary instance will begin to see the
freshly-published dynamic content.
We have a good handle on the first four items, but are unsure how we can
accomplish the fifth item. Here's what I'm thinking may be possible:
a) The secondary instance will have a JSP whose job is simply to clear
the entire Flex cache. Is there an API available to do this cache-clearing?
b) The primary instance will invoke this JSP when a publish event
occurs. Is there a hook in OpenCMS that we can use to detect publish
events?
Any suggestions or help with this issue would be greatly appreciated.
Best regards,
Andrew Kerr
More information about the opencms-dev
mailing list