[TriLUG] Multi-webserver open-source CMS?

Cristóbal Palmer cmp at cmpalmer.org
Wed Jul 16 02:13:59 EDT 2008


On Tue, Jul 15, 2008 at 3:20 PM, Joseph Tate <dragonstrider at gmail.com> wrote:
> On Tue, Jul 15, 2008 at 11:52 AM, Cristóbal Palmer <cmp at cmpalmer.org> wrote:
>> There are many other examples hosted by ibiblio using Wordpress,
>> Joomla, and plenty of other software. Some have their gotchas, but
>> mostly they Just Work. Make sense?
>>
>
> I wonder if the apps in question do proper file locking on NFS (since
> nfs doesn't support fctl locks).  I think you're probably just lucky;
> you don't have a large number of editors + the possibility of
> collision is low.  Do you have editors go through a special proxy to
> one machine as the "writer" node?  Or is that just YAGNI (You ain't
> gonna need it)?
>

The NFS issues we've run into haven't been what you're pointing out,
for precisely the reason you point out: not a large number of
editors... but not perhaps in the sense of "editor" that you meant.
The CMSes I've listed only write to disk for things like image or pdf
file uploads, and generally authors/owners of sites are 1 to 10 ppl
while readers/editors/commenters are 2 to ??k. Take groklaw as an
example. PJ and a handful of other people can do uploads. Everybody
else is just posting comments, which, crucially, go to the db and not
the FS.

Is there a particular CMS or functionality that you think we're lucky
we haven't fried ourselves with? I think my point to the OP still
stands: if he can offer up shared filesystem storage from the DB node
(or some other machine), then he can pick any CMS he likes... unless
he expects a bunch of people to simultaneously be doing things with
the CMS that will write to the filesystem in a way that has a decent
chance of conflict.

That said, I'm not a huge fan of NFSv3. Write me off-list if you want
details. I might even be able to explain. ;)

Suddenly it occurs to me that there might have been confusion because
my ascii diagrams were bad. Should be more like this:

{load balancing pair}
--------------------------
            |
{web server cluster}
--------------------------
    |                 |
    |                 |
(NFS)         (MySQL)
--------         ------------
    |                 |
--------------------------
            |
   (login.ibiblio.org)

So our contributors have CLI access to the NFS space to do things like
run the CLI updater for Mediawiki.

If you're married to NFS and are willing to exert more control over
the CMS setup than we (ibiblio) are, then you could redirect all edits
to one node (editor.example.com) which can write, and have a cluster
for read only (example.com). Say for wordpress, instead of
http://example.com/blog/wp-login people would get shoved to
http://editor.example.com/blog/wp-login and would stay in that neck of
the woods until they hit the "visit site" link in the admin panel,
which would ship them back to http://example.com/blog. Note that I'm
not sure how exactly you'd hack wordpress to do that, but I'm sure you
would have to hack into it. Slashdot does something approximately like
that with their site. The OP was only talking about two web nodes,
though, and it sounds like he was trying to avoid that kind of work.

We host a couple of /thousand/ projects, including 376 virtual hosts
(eg. groklaw.net, gutenberg.org). We like saying yes to people when
they ask if they can run something. Unfortunately that means a
less-than-elegant cluster of machines (no unified MySQL cluster, for
example). Tradeoffs. We make them.

Cheers,
-- 
Cristóbal M. Palmer
"Small acts of humanity amid the chaos of inhumanity provide hope. But
small acts are insufficient."
 -- Paul Rusesabagina


More information about the TriLUG mailing list