[Zope] ZODB replication on a per-object basis?

Petru Paler ppetru@coltronix.com
Thu, 11 May 2000 16:36:34 +0300


On Thu, May 11, 2000 at 09:29:31AM -0500, Brad Clements wrote:
> > The pieces of ZEO discussed so far address scalability. For complete
> > reliability, though, the data in the ZSS must be redundant. That is, the
> > single point of failure cannot be simply shifted from the Zope process to
> > the ZSS. The second level of the ZEO architecture eliminates the ZSS as the
> > failure point by mirroring the object data between storage servers and
> > allowing failover of one ZSS process to another. Scaling the Zope Storage
> > Server will be the second phase of the ZEO work
> 
> Based on this, it appears that ZSS does not replicate at this time.

    You're right, but notice the "at this time". Once it will be made
open source I'm pretty sure that someone will complete it.

> Also, the fact sheet says that Zope still caches objects in memory, but 
> doesn't mention how a replicated ZSS can invalidate the cache of a 
> running Zope process.
> 
> Invalidation is needed when another Zope process has changed an 
> object.. That changed object needs to be pushed out to running Zope 
> processes .. I imagine that some objects (like /index_html) are pretty 
> much permanently cached in memory since they're hit so often.

   ZEO _does_ invalidation. Otherwise it would be useless.

> I'm looking for wide area replication .. like how you might implement a 
> CPAN for Python based on Zope.

   You want to do this too ? :) ZEO in its current form perfectly fits
the bill, because you _need_ a centralized site which the mirrors
replicate.

-Petru