Sanjay Radia wrote:
Wrt connection pooling/async servers: Can't we use the same libraries
that Jetty and Tomcat use?
Grizzly?
Grizzly also supports HTTP. Choosing Grizzly is independent of choosing
HTTP as a wire transport or choosing a server.
The question I'm asking now is about the wire format, whether we wish to
precede each RPC request with something like "GET
/avro/org.apache.hadoop.hdfs.NameNode HTTP/1.1\n" and each response with
"HTTP/1.1 200 OK\n", plus a couple of other headers in each case (e.g.,
Content-Type and Content-Length). I think there are great benefits to
using a single, standard protocol on the wire. Which server and client
implementations we use will be determined by performance, features, etc.
But using a standard wire format will greatly simplify things as we
attempt to support multiple languages. Since we want to provide browser
access, we're compelled to support HTTP. So the question is, are there
compelling reasons why HTTP should not be used for other, non-browser,
access?
Yes we are expecting to use encryption down the road.
Do we expect to use something different from TLS? With its 'resume'
feature, is TLS performance unacceptable? Would we implement some other
encryption protocol, or use a non-standards-based encryption protocol?
Doug