On Mon, 18 Jul 2005, Michal Kosek wrote:

> Implementation issues
>
>   Dispatcher
>
>     It would be best to make dispatcher single-threaded, I suppose that
>     creating separate thread for each connection would take much more
>     resources.  OTOH it may cause some problems.  One I am currently
>     aware of is mod_ssl, which AFAIK doesn't currently have non-blocking
>     API.  Would it be difficult to create such API?
>
>     I want dispatcher to be as simple as possible, and make workers do
>     all the work (filters, handlers, etc.).  Of course, as dispatcher
>     must read Host header, it must use connection filters.
>
>     This headers is needed, because dispatcher has to decide to which
>     worker a connection should be redirected.  I think that it would be
>     best if it didn't do full header parsing, but just look for virtual
>     host name.
>
>     There are two ways of dispatching connection:
>     - passing a socket descriptor (along with data that were already
>       read) to the appropriate worker,
>     - acting as a proxy, redirecting data to the appropriate worker.

I understand you favour the proxy solution.  That seems to mean that
the elapsed time from the dispatcher accepting a request to
being finished with it is the entire request duration, including the
overhead of your architecture.   Isn't that quite expensive, in
terms of requiring a whole bunch of dispatcher processes?

-- 
Nick Kew


Reply via email to