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