[hybi] Data points from Apache Retreat re: Web Socket
Justin Erenkrantz <justin@erenkrantz.com> Fri, 16 April 2010 07:32 UTC
Return-Path: <justin.erenkrantz@gmail.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 282313A6B2A for <hybi@core3.amsl.com>; Fri, 16 Apr 2010 00:32:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.677
X-Spam-Level:
X-Spam-Status: No, score=-0.677 tagged_above=-999 required=5 tests=[AWL=-1.300, BAYES_50=0.001, FM_FORGED_GMAIL=0.622]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rKYGgX4WUFBV for <hybi@core3.amsl.com>; Fri, 16 Apr 2010 00:32:06 -0700 (PDT)
Received: from mail-qy0-f171.google.com (mail-qy0-f171.google.com [209.85.221.171]) by core3.amsl.com (Postfix) with ESMTP id CFFD63A6BE7 for <hybi@ietf.org>; Fri, 16 Apr 2010 00:22:22 -0700 (PDT)
Received: by qyk1 with SMTP id 1so2322548qyk.15 for <hybi@ietf.org>; Fri, 16 Apr 2010 00:22:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:date :x-google-sender-auth:received:message-id:subject:from:to :content-type; bh=F1hxeouTsfGkHnVInYWhd8E4v+dh1DgsdIvdxjrbpnY=; b=UIoQpffWp/Uwg3VKJCZwjM9UtJ4py+DTITdseOuDm1UKW6xlQVi42S5OGfVxWRYIKa H+F+DI4JKxkg7GQ8PxA/kBR62EtA0d17gIU29MIbwUK+5vJJJejdIvZTZ0+PjY7nD+Do PISsOtmDBnKDtHn2b3mYeRmiorL6RegZEnXZ8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; b=gD0f6Z/eeP+ZLjDpNuCFJLRvojLhszNwax/lRuFO8mRXVAJLHYzErGDOgovtUxThYN za5gcnb9HLSO2KUDGXobPHmYwqmaKxrPdtg/SoCGI/VAgseFWCu/fy0ppxYNSM4mTZ0G kCAc2ySEtM1vIvqYAzjxx/0HDA85vh2JoOosA=
MIME-Version: 1.0
Sender: justin.erenkrantz@gmail.com
Received: by 10.229.17.84 with HTTP; Fri, 16 Apr 2010 00:22:13 -0700 (PDT)
Date: Fri, 16 Apr 2010 00:22:13 -0700
X-Google-Sender-Auth: 3792f00403819e7d
Received: by 10.229.221.14 with SMTP id ia14mr1691222qcb.8.1271402533076; Fri, 16 Apr 2010 00:22:13 -0700 (PDT)
Message-ID: <i2l5c902b9e1004160022z66e6ece5nf5c016b459e5af64@mail.gmail.com>
From: Justin Erenkrantz <justin@erenkrantz.com>
To: Hybi <hybi@ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"
Subject: [hybi] Data points from Apache Retreat re: Web Socket
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Apr 2010 07:32:07 -0000
The Apache Software Foundation held an informal get-together in Ireland last weekend across all of our 70+ projects. We spent about an hour or so talking about "next-generation" web protocols. In particular, there were about 7 or 8 Apache HTTP Server and/or Tomcat core developers present for this conversation (and about another 5+ people sitting in and contributing). In my opinion, if any implementations of Web Socket were to be added to either httpd or Tomcat, there's a fair chance that one of the people present would either be implementing or reviewing the code. I did point some of the interested folks at this list to voice their concerns directly, but I think some takeaways to share from the discussion were: - Some form of connection multiplexing is pretty much a dead-certain requirement; both httpd and Tomcat have lots of deployments that hit connection limits quite easily. This is the #1 problem with comet-centric deployments today - if it doesn't solve this problem (or makes it worse), no one is really interested in implementing Web Socket as it won't solve any real issues we're seeing. - Both httpd and Tomcat have ways to push "idle" connections away from a thread (or process), but doing so in the Comet-style (where there is a 'pause' in responding to the GET mechanism) is a bit more difficult. Only when the connection is "idle" (no active req/response) does it go back into the wait queues where it doesn't block. So, having open connections is a bit different than having in-flight responses active. The key is not to consume server resources while nothing is going on. - About 4 or 5 people there were active contributors to httpd's mod_proxy (reverse proxying/load-balancing being their main focus within mod_proxy), the need for Web Socket to play cleanly with load-balancing and other reverse proxy implementations is essential. The closer it is to CONNECT and asking the intermediary to be dumb, the less useful Web Socket is. Backend servers go up and down and that needs to be considered. However, comet's model just "works" with reverse proxies in a rather clean way - this is an essential feature. (IOW, on each new GET req, a new back-end may be selected if the old one fails...) So, I do think it'll be important to spend time considering and supporting how an intermediary can route messages as almost all deployments everyone present in Ireland works on today has a reverse proxy somewhere in the chain. - Similarly, someone put forth a data-point that ~10% of all web traffic goes through a *forward* proxy. I sadly don't recall who specifically said that number, but I believe it was either someone from Facebook or Red Hat - so I'll put some stock into that number being representative. - Those present who had read the Web Socket IDs found it hard to understand and follow. (Though, I think only 2-3 folks other than myself had read it.) My sense is that all of these devs have other priorities, so they all may not join the hybi WG and may instead just pick up the IDs/RFCs as they are published. So, very clear IDs/RFCs as an output are useful. - We also did talk about the need for clear IPR policies. If there are unclear IPR restrictions, we may avoid implementations. This goes into the relationship between WHATWG and IETF as well. - We did talk about SPDY and other new protocols; but my feeling is that by-and-large the consensus within hybi@ is that if there's a new protocol, this will be it. So, investing resources in supporting SPDY may not get a return on investment - it's better to try to get hybi drafts to support what we need. I hope this helps. If anyone reading this was present for the conversation in Ireland and I missed something, feel free to correct me. =) -- justin
- [hybi] Data points from Apache Retreat re: Web So… Justin Erenkrantz