durusmail: durus-users: Concurrent Durus server, any interest?
Concurrent Durus server, any interest?
2010-06-23
Concurrent Durus server, any interest?
Neil Schemenauer
2010-04-28
First, a bit of history.  Our original work on Durus began because
we loved the OODB model that ZODB gave us but we did not want to
deal with the extremely complex concurrency model of ZODB.  The
combination of threads and asyncore was enough to make almost
anyone's head explode.  Keeping with the YAGNI principle, the first
version of the Durus server was single threaded and completely
sequential.  It's essentially still that way today (the pack
operation now happens in the background).

Amazingly, this simple design seems to have worked very well.
However, I do notice in certain situations that clients are probably
blocking more than necessary.  For example, if there are multiple
clients and one of them is performing lots of requests that cause
the server to block on disk IO.

Is anyone interested in a concurrent Durus server?  It would almost
certainly have more bugs than the current server.  I'm considering
implementing one either in Clojure or in Python but to this point
can't justify the effort.

  Neil
reply