Forum OpenACS Development: Re: Experiences clustering OpenACS aolservers?

Collapse
Posted by Joe Oldak on
We clustered the dotCommunity setup which is live on http://e-voice.org.uk/ - there are three web servers connecting to one database backend.

The cluster cache flushing code in the stock OpenACS isn't right though - especially in respect to the site_node cache. We did some work to improve it in dotCommunity and it (now) seems to be working well for us.

You can look at what we've done with the code by downloading it from www.dotcommunity.org. Or, if you aren't in too much of a hurry, then we'll be hoping to put our changes back into the OpenACS core code in due course...

Joe

Hi, Joe!

I have got your code and I selected the changed files
for cluster part.

I have put the changes in our test server.
They appears work ok!

The files I have used are:

packages/acs-tcl/tcl/site-nodes-procs-*.xql
packages/acs-tcl/tcl/site-nodes-procs.tcl
www/SYSTEM/flush-site-node-cache.tcl
packages/acs-tcl/tcl/site-nodes-init.tcl

Am I right?
Am I forgotten any file or change?

Regards,
Agustin

Collapse
Posted by Joe Oldak on
That seems right, yeah.

As long as you try out the adding/deleting/renaming of nodes from one machine, and these changes are mirrored on the others, then you should be fine!

We also made some changes in the functions which send the flush messages to the cluster peers - though this was mainly to do with our specific setup, and so you shouldn't really need them. (since each node in our cluster could have more than one ip address, we added an extra config parameter to store the local addresses of each machine). This is really just to prevent nodes sending flush requests to themselves (which is harmless but pointless!).

(sorry for the previous post)

Thanks, Joe!

Only another problem.

Anybody have patched whos-online code for use all
the servers in the cluster?
Currently only the local users are displayed with that
procedure (nsv* procedure).

By the way, we are solutioned the problems
with different real IPs in the same server adding one host
route to indicate the ouput network card.

Regards,
Agustin