Just to follow up on this.

"It would be nice to document this on the wiki."

Absolutely. We're looking at setting up roller as part of our live website environment. All our other web applications are load balanced on redundant servers, and it is awkward that there is no explicit support within roller for such a non-redundant setup.

Dave - you mention plugging in a distributed cache as something that might be 'considered' but some mechanism for distributed cache expiry seems vital, not just optional, no? Without distributed cache expiry, each of the two servers will get out of sync with respect to newly posted changes, and so a users who received a first http response from server 1, and then a subsequent from server 2, would end up seeing an inconsistent view of the blog.

Rather than making use of a completely different caching implementation, would it not be simpler to define a way for roller to define a standard URL for invalidating a particular cache entry.

And to define in its config file, a list of the base URLs of each particular server
e.g.
http://w01.blogs.acme.org/roller/
http://w02.blogs.acme.org/roller/
http://w03.blogs.acme.org/roller/


Then whenever a content update is made (on any server), a set of requests would be sent from that server, to:

http://w01.blogs.acme.org/roller/clearcache/[cacheditemID]
http://w02.blogs.acme.org/roller/clearcache/[cacheditemID]
http://w03.blogs.acme.org/roller/clearcache/[cacheditemID]


I noticed some related comments here:

http://rollerweblogger.org/wiki/Wiki.jsp?page=Proposal_CachingRewrite

"
It might be worth taking another look at OSCache and consider having an OSCacheImpl. A new release (2.2) was made last week. I think they fixed the leak and concurrency problems long again and they have a JavaGroups based distributed cache setup. -- DaveJohnson
I suppose I should also say that a JavaGroups based distributed cache cluster does not excite me. I personally have tried using that exact setup, oscache + javagroups, and it failed miserably in our environment. I would be more inclined right now to try a custom solution using simple http calls, however a custom solution has just as many potential problems. It's a tough situation and oscache + javagroups may work well for most Roller users, but I would not be inclined to invest my time on it until I knew it was going to work for me. -- Allen
"

Allen Gilliland's comments seem to suggest that a full distributed cache may not be a practical option. I'm not sure "a custom solution using simple http calls" is the same as I've described above, but either way, it seems very desirable that some sort of support for distributed cache expiry be incorporated into the main codebase, rather than each site wanting to use load balancing having to roll their own solution.


Regards,
Matt




From    "Dave Johnson" <[EMAIL PROTECTED]>
Subject         Re: Redundant/load balancing Roller installations?
Date    Thu, 15 Jun 2006 15:35:38 GMT

We don't have any specific instructions for setting up a distributed
Roller installation, but it is possible and I know of several sites
running distributed. You should be able to setup a system like this
without any code changes to Roller:

Web server #1
   Roller
   Referrer turnover task, planet sync tasks (out of process)

Web sever #2
   Roller

Web sever #N
   Roller

File sever / SAN
   shared by severs #1 through #N for file uploads

Database server / cluster
   shared by #1 though #N for Roller data

You might also consider plugging in a distributed cache, such as
memcache, for Roller's page cache and Hibernate's L2 cache. But that
requires some coding.

The only problem with that is Roller's built-in search engine. I'm not
sure how well it would work in such a setup, since I haven't tried it.
You might have to turn it off. Any Lucene experts around?

It would be nice to document this on the wiki.

- Dave



On 6/14/06, Allen D. Householder <[EMAIL PROTECTED]> wrote:
> I've been unable to find anything in the list archives or on the
> Roller Wiki -- maybe somebody can point me to docs...
>
> We have a customer with a high-availability requirement for their
> Roller installation.  The documentation we've seen so far doesn't
> appear to talk about that at all. I find it difficult to imagine that > Sun and IBM are running roller on a single-point-of-failure web host,
> so how is it actually done?
>
> Any advice, pointers, whatever, will be greatly appreciated.
>
> Thanks!
> -allen-
>


This email has been scanned by Postini.
For more information please visit http://www.postini.com

Reply via email to