httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ben Hyde <>
Subject Re: Module Server Project?
Date Fri, 26 Mar 1999 20:59:25 GMT

These are all fine ideas.  The "getting it to work" is hard.

Some examples of places were it gets hard.
 - you need to have a protocol from Apache child to backend
   the temptation is for both mmap and TCP/IP.
     - memory management, connection maintance, data
       serialization, etc.  - just work.
 - you have copy "enough" of the state: request, connection, 
   configuration state to the backend at approprate times.
 - there is a distributed database problem between the
   backend and the Apache child with all the usual 
   distributed database sync problems.
 - it's tempting to skimp on processes so you only have
   backends proportional to backend load, not apache children.

Dive in, it's interesting work.

 - ben
Ryan Mooney wrote:
 > Hi:
 > I have an idea for writing a module server whereby you could optionally
 > decouple modules from the main web server into other processes, on either
 > the local or a remote machine. Basically I was looking at ways of decoupling
 > the module registration logic so that it could be more dynamic, and then
 > have a module that could register other modules, either locally or remotely
 > (probabley connected via either shared mem, or sockets respectively).  Once 
 > that was in place, put together another lightweight app (basically a stripped
 > apache re-using 99% apache code) that links in something closely approximating
 > the current module interface (presumabley the new extended version), and
 > registers it with the main server(s) and proxies requests to some pre forked
 > backends.
 > This would give Apache some more scalability by allowing you to distribute 
 > the processing load in more interesting ways, while still offering the 
 > traditional interface/implementation.  Additionally, as sort of a side 
 > benefit, it would allow easier testing of unstable/potentially insecure 
 > modules as they could dynamically be loaded/killed and if nessecary be run 
 > on a different machine.  If anyone else is doing something like this, let me 
 > know & I won't bother :)  If not, does it sound usefull/interesting, and 
 > if so I'll spend some time working on it.
 > Obviously some of the details are still fuzzy, I'd have to spend a week or
 > two playing code monkey, but a lot of you guys are intimately familiar
 > with the current gritty details, so I was sort of hoping for a good idea/bad
 > idea initial response before spending immense amounts of time on it.
 > Ryan M.

View raw message