[ZODB-Dev] Really want to refactor ZEO's networking archiecture
David Pratt
fairwinds at eastlink.ca
Thu May 4 20:57:45 EDT 2006
Hi Jim and Roderigo! This is encouraging news. I have been putting much
thought into this also. There is a downside to refactoring ZEO in that
there are many folks heavily dependent on it and also reasonably happy
with it.
Secondly, zeo has a specific place and relationship. When I initiated
the twisted zeo discussion about a week ago, it was with the hope of
drawing interest to some possible changes. I was thinking about
security, my own positive experiences with twisted, and how things could
be modified to bring tighter integration. That said, the general
experience of twisted and zope has been short (since 3.2) and this is a
departure that has risks that I respect.
I was encouraged to challenge my own thinking on what may be needed.
Before committing, I am planning to build and test a few ideas to
explore this further without confining the scope. I don't know where
this is leading me just yet.
On the notion of multiple independent loops for twisted, I believe there
are possibilities, some interested folks, and a patch I found that could
be evaluated. The work would be murky as Glyph has pointed out - but he
has offered to review tests for this as well.
Many thanks,
Regards,
David
Jim Fulton wrote:
>
> I think that my next big project might be to
> refactor ZEO's networking architecture.
>
> Wonder what the main reason is?
>
> - Provide more secure connections? Nope
> - Leverage Twisted? Nope
> - Get rid if the insane async/sync client madness? Nope
> - Get better storage-server performance? Nope
> - Allow simultaneous syncronous calls from the same client? Nope
>
> I'd like to do all of these things, but the main reason to refactor
> ZEO's networking architecture is to make it testable.
>
> Writing ZEO tests now requires actually starting servers and
> clients. This is nuts. IMO, application code shouldn't
> touch sockets. Application code, like ZODB and ZEO should
> be insulated from actual network APIs. They use simpler APIs
> that are easy to interccept and control.
>
> I've been thinking of a someone general networking API with these aims
> in mind, but I realized that the ZEO existing frameworks could probably
> be refactored in a more limited way to do this. We'll see.
>
> If anyone is interested in workingon this with me, let me know.
>
> Jim
>
More information about the ZODB-Dev
mailing list