[ZODB-Dev] Using ZEO to solve problem with slow connection

Roché Compaan roche@upfrontsystems.co.za
Fri, 4 Apr 2003 13:34:52 +0200


Hi there

We are using ZEO to try and solve a problem that it was not necessarily
intended for. We have a ZEO Client running in Germany and South Africa
and the ZEO Server is running in SA. Bandwidth is quite expensive
in SA so we have a very slow connection on this side. Therefor the ZEO
Client in Germany has quite a large client cache to speed up reads on
that side. However, when the Germany ZEO client requests an invalidated
record it takes a very long time to replicate. In short, were using ZEO
to solve a problem with a slow connection, not performance.

We want to customise ZEO for our purposes and would like some advise on
how feasible it is. We haven't studied the ZEO code yet but don't want
to waste our time if we are trying to do the impossible.

First, would it make sense to zip marshalled objects before they are
transferred between client and server?

Secondly, how difficult will it be to modify ZEO to not delay client
reads if the record exists in the client cache. The server then pushes
modifications to the client when they occur and the client updates the
record in its cache as soon as it is available locally.

Any other ideas will be appreciated.

-- 
Roché Compaan
Upfront Systems                 http://www.upfrontsystems.co.za