Return-Path: Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 50217 invoked by uid 500); 22 Oct 2001 18:25:46 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 50180 invoked from network); 22 Oct 2001 18:25:45 -0000 User-Agent: Microsoft-Entourage/9.0.1.3108 Date: Mon, 22 Oct 2001 19:25:46 +0100 Subject: Re: New proxy hook From: Pier Fumagalli To: Message-ID: In-Reply-To: <20011022102749.A14721@rawbyte.com> Mime-version: 1.0 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Daniel Lopez at daniel@rawbyte.com wrote: >> Second, tighter integration. On WARP, for example, we're able to pass things >> like configuration informations, so, using a directive in httpd.conf, you >> can actually deploy web-applications on the servlet container without having >> to tweak your configurations in two places. > > Apache could pass this information in an HTTP request, no need for a special > protocol. And dinamically reconfigure your apache web server from an HTTP request? I don't really see how... Like, if I know that /examples/*.jsp is something that need to be processed by a Servlet, and /examples/*.html is a static file, which is actually available to the web server in some path (let's say /usr/webapps/examples/*.html) how can I tell to my running web server to forward certain paths to the proxy_module and certain others to the defalt file serving thinghie? (BTW, I'm talking about not only AP20, but also 13, and other web servers, such as iPlanet and IIS). >> Third is parsing. I mean, you guys spent ages optimizing and making sure >> that your HTTP stack is 100% compliant and fast-as-hell (don't tell me that >> I can parse HTTP headers faster in Java than in C! :), and the WARP protocol >> is optimized for that, it is designed so that the Java side of things >> doesn't have to parse stuff at all, all the HTTP protocol parsing is done by >> Apache, and doesn't need to be reparsed in Java, since all data is passed >> along on the socket with all its parsing information (packets and string >> lengths, we don't have to iterate thru char arrays in Java at all, just >> construct strings when those are required). > > Um... maybe :) I would like to see some numbers on how slow parsing the > headers is in comparison with the time it takes to process the request or > deal with the warp protocol Approximately 1/3...1/4 of the time, and objects allocation is approximately 2/3s (with the current code, and the WARP protocol stack is not optimized) >> Fourth is load balancing done how it should be to be compliant with the >> server spec (sessions generated by a certain tomcat engine are guaranteed to >> return to that specific engine, integration with mod_ssl session, >> yadayadayada)... > > This can be done with an HTTP reverse proxy. BEA does load balancing , > failover, sticky sessions, etc. Kewl... >> And fifth is the possibility to include the JVM directly into the Apache >> process (multithreaded, 1.3 on Win32 and 2.0 everywhere), via JNI... Without >> even thinking about opening sockets :) > > I see the value of warp for hiding the underlying transmission protocol, but > in the case of embedding the JVM directly it may be worth to do it on its own. And then how can you load balance a JNI based servlet engine with a remote/networked one? >> Is it enough??? :) :) :) > > No :) I think a lot of the stuff you are trying to do is very useful > but they could be implemented using HTTP as the transport and as > enhancements of the reverse proxy. This allows you to take advantange of > many other things (like SSL for free, etc.) > My point is that if it is good enough for weblogic and IBM (they have an > HTTP based protocol for Websphere 4.0) it may be good enough for us :) Not good enough for me :) Also, I would like to see a full httpd.conf configured to serve a web-application, if it is more than one line per web application, you get my +1 on continuing on mod_webapp.... :) Pier