CPAN functionality for python
jeremy at alum.mit.edu
Tue Feb 13 05:46:59 CET 2001
>>>>> "OB" == Oleg Broytmann <phd at phd.pp.ru> writes:
OB> On Tue, 13 Feb 2001, Doug Hellmann wrote:
>> The server is going to have to keep up with what modules are
>> available, and all the meta data about those modules (version,
>> dependencies, description, location, etc.).
>> That information needs to be available on all mirror sites in
>> order for the mirror sites to be useful. It is not enough to
>> mirror some web pages, the database needs to be mirrored to
>> support the custom client search mechanism.
OB> This metadata can be put in static files. Thus, it can be easily
OB> mirrored/reached by www/ftp/rsync/etc. In case of Zope, mirror
OB> site must run Zope, so mirroring will be limited to probably 2-3
OB> sites in the world.
I think this would be a fine project for Zope, in part because we're
going to be spinning up zope.python.org in the next few weeks and
could probably provide a home for it. (Yeah, I work for Digital
Creations, too, but only because I think it's a great company.)
A couple of possibilities come to mind. One is that the Zope service
has an export feature that produces a snapshot of the database in a
simple format that can be exchanged with other non-Zope servers. I
imagine XML is well-suited for this kind of project.
Another possibility, though not ready right now, is to use ZEO to
mirror the database contents. There are two possibilities, both of
which are being worked on:
- Each mirror runs a ZEO client program and its own Zope server.
The client will probably end up with the entire database in its
cache and can serve clients from the cache most of the time.
- Use a ZEO replicated storage where each replica runs a ZEO
server that manages a copy of the data. This provides greater
fault tolerance, because the database is available for reads and
writes as along as a majority of the servers are available.
More information about the Python-list