On 10/31/07, Boyle Owen <[EMAIL PROTECTED]> wrote:
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> >
> > Splitting a stream is useful.  Older people remember when forms were
> > sent in triplicate.  Then office workers made a copy of every paper to
> > cross their desks.  Now smart people keep a copy of every file passed
> > to others.
> >
> > Splitting a stream is not unusual.  Unix has the "tee" command.
> > Apache Cocoon has the TeeTransformer.  Apache httpd copies part of
> > each request into the log before fulfilling the request.
> >
> > Splitting a stream is easy:
> > while(b = in.read()){  out1.write(b); out2.write(b); }
>
> The *concept* isn't unusual - what's complicated is applying the concept
> to *HTTP*. I think, rather than having to write a web-server, the OP was
> hoping it could be done using config directives - maybe something like:
>
> ProxyPassSplitStream / http://server1
> ProxyPassSplitStream / http://server2
>
> Rgds,
> Owen Boyle
>
> > Discarding the output from the test server is difficult, but not
> > impossible.  When configuring the server for the above code:
> >    Connection1 = client<-->splitter
> >    Connection2 = splitter<-->production server
> >    Connection3 = splitter<-->test server
> > The splitter should compare responses from the production and test
> > servers and log the differences.
> >
> > I am uncertain this functionality should be added to Apache httpd.  I
> > recommend writing a simple fast dedicated server to handle splitting,
> > logging, and comparing.  That server could be added and removed from
> > the production stream without affecting the other servers beyond an IP
> > address configuration change.

Most configuration applies to the primary client-serving stream so
configuration for splitting would only need settings for additional
streams:
Can we assume all requests should be duplicated?
What configuration is useful?  Matching URLs?  Matching protocols?
Should the command be allowed within a VirtualHost or other container?
Should the duplication happen before or after URL rewriting?
Should the duplication happen before, after, or during proxy redirects?
   ProxyPassDuplicate / http://server2
Should this function be a separate module since this function is
rarely needed and can be outside mod_proxy?

Assuming dedicated Tee server eliminates most of the issues:
   ProxyPassReverse /       http://myappserver.example.com/
   Duplicate mytestserver.example.com

Would this module record every response from additional servers?
Would this module allow recording of responses from the primary stream?
Would the module handle comparison?
What are the security implications?

solprovider
(Any poor ideas are due to having just awoken.)

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
   "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to