[opencms-dev] RE: Cluster
Denham, Martin
Martin.Denham at edfenergy.com
Tue Apr 6 17:39:01 CEST 2004
Thanks Tim,
That was a quick response and very helpful.
We have a load balanced cluster of 2 servers so your comments in section 3 were most appropriate to us:
"The problems that I've had with clustering have to do with the element and flex caches when publishing content- if you update server1, the cache on server 2 will still persist, and will serve up outdated content."
I suppose we could manually flush the cache on both servers after a set of updates has been published. I wonder if this could be done programatically?
I noticed the OpenCMS administrative synchronize utility. I suppose this could export data to dirs on both servers, but I haven't used this yet.
Has anybody got any other tips for synchronisation of servers in a cluster?
thanks
Martin
-----Original Message-----
From: Tim Howland [mailto:thowland at organic.com]
Sent: 06 April 2004 04:40
To: opencms-dev at opencms.org; Denham, Martin
Subject:
Hey Martin-
There are several pieces to an opencms implementation that can be
clustered. It depends on whether you are clustering for load handling or
redundancy.
1) Web servers - you can load balance several web servers with generic
techniques (F5 BigIP, Cisco, Linux HA) they should be configured to
serve up the static content and pass the dynamic content to the servlet
engine (Tomcat or whatever).
2) Application Servers - If you are using mod_jk or mod_jk2 with apache
and Tomcat, it can be configured to do three critical things:
- talk to several Tomcat servers
- bind a user's session to prefer one of the servers
- re-route users to a new server if their preferred server fails.
Tomcat 5 has some facility for session distribution, if all the session
objects are serializable. I haven't tried this myself, and I don't know
the degree to which opencms relies on session objects for the admin
interface. The visitor's side seems to only use session objects you put
in there (with the possible exception of the CmsUser object, if you are
authenticating against the OpenCms API objects).
3) OpenCMS application - Redundancy is pretty feasible, but load
handling is a bit problematic (but maybe I'm missing something). The
problems that I've had with clustering have to do with the element and
flex caches when publishing content- if you update server1, the cache on
server 2 will still persist, and will serve up outdated content. In
order to fix this, I've restricted users to editing and publishing
content on one server, and disabling the flex and element caches in the
opencms.properties file for the second server. (I can't trust them to
wander over to the second server and flush the caches by hand)
Obviously, this is a big performance hit; I set up a reverse proxy cache
in front of my web servers to get rid of the worst of it. Static asset
exports for your graphics and rsync also helps a lot.
The discussion of the upcoming feature set for 6.0 includes this tidbit:
"The most important management functions (e.g. cache maintainance,
system status) will be exposed to allow JMX containers to manage
OpenCms"
I suspect that this will allow you to automate cache flushes across your
cluster, which would get rid of the need for this workaround. There may
be a way to trigger a cache flush on a remote server now, but I'm not
aware of it; perhaps one of the Alkacon folks can let us know?
4) Database servers - I haven't attempted a master/slave mysql config
with automatic failover yet, but it appears to be something that's
pretty feasible. I've thrown some fairly heavy loading against a
moderately powerful linux box and haven't had much issue; mysql seems to
be generally fast (if loose). If you have $$$, you could try an M$
$ql$erver clu$ter with Advanced $erver.... should only cost $50KUS or so
to license...
Hope this helps-
Tim
--
Tim Howland
Organic, Inc.
tel : 212-827-2233
thowland at organic.com
www.organic.com <http://www.organic.com/>
Message: 1
Date: Mon, 5 Apr 2004 18:43:30 +0100
From: "Denham, Martin" <Martin.Denham at edfenergy.com>
To: <opencms-dev at opencms.org>
Subject: [opencms-dev] Cluster
Reply-To: opencms-dev at opencms.org
Hi,
I have just started looking into OpenCMS, have a simple demo app
working, a= nd it looks good. However I do not yet understand the more
advanced issues.
I am about to recommend use of OpenCms to my manager, but could you
assure = me that OpenCms works fine in a clustered environment because
our external = web sites are all clustered (2 servers). As I said I do
not yet understand= the more advanced features of OpenCMS.
btw Angus, I also have been reviewing CMS systems and although Magnolia
loo= ks like a fine system it did not appear to support version control
of docum= ents, which is a key requirement for us - but I might be wrong
about that.
Thank you for your time.
regards
Martin
***********************************************************************************
EDF Energy plc internet e-mail disclaimer
This e-mail and any files transmitted with it are confidential and may be protected by legal privilege.
If you are not the intended recipient, please notify the sender and delete the e-mail from your system.
This e-mail has been scanned for malicious content but the internet is inherently insecure and EDF
Energy plc cannot accept any liability for the integrity of this message or its attachments. No employee
or agent of EDF Energy plc or any related company is authorised to conclude any binding agreement on
behalf of EDF Energy plc or any related company by e-mail. All e-mails sent and received by EDF Energy
plc are monitored to ensure compliance with the company's information security policy.
***********************************************************************************
More information about the opencms-dev
mailing list