Re: [hybi] Last Call: <draft-ietf-hybi-thewebsocketprotocol-10.txt> (The WebSocket protocol) to Proposed Standard

Mark Andrews <marka@isc.org> Wed, 27 July 2011 23:10 UTC

Return-Path: <marka@isc.org>
X-Original-To: hybi@ietfa.amsl.com
Delivered-To: hybi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 90A4221F8A58; Wed, 27 Jul 2011 16:10:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.564
X-Spam-Level:
X-Spam-Status: No, score=-2.564 tagged_above=-999 required=5 tests=[AWL=0.035, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e1I9Il3rVqBx; Wed, 27 Jul 2011 16:10:36 -0700 (PDT)
Received: from mx.ams1.isc.org (mx.ams1.isc.org [IPv6:2001:500:60::65]) by ietfa.amsl.com (Postfix) with ESMTP id E263A21F8A56; Wed, 27 Jul 2011 16:10:35 -0700 (PDT)
Received: from bikeshed.isc.org (bikeshed.isc.org [IPv6:2001:4f8:3:d::19]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "bikeshed.isc.org", Issuer "ISC CA" (verified OK)) by mx.ams1.isc.org (Postfix) with ESMTPS id F3F915F9967; Wed, 27 Jul 2011 23:10:12 +0000 (UTC) (envelope-from marka@isc.org)
Received: from drugs.dv.isc.org (unknown [IPv6:2001:470:1f00:820:6233:4bff:fe01:7585]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by bikeshed.isc.org (Postfix) with ESMTPSA id E17D4216C85; Wed, 27 Jul 2011 23:09:40 +0000 (UTC) (envelope-from marka@isc.org)
Received: from drugs.dv.isc.org (localhost [127.0.0.1]) by drugs.dv.isc.org (Postfix) with ESMTP id B787612383D5; Thu, 28 Jul 2011 09:09:38 +1000 (EST)
To: Dave Cridland <dave@cridland.net>
From: Mark Andrews <marka@isc.org>
References: <CALiegf=4K2oWfmZjGMD7J_jyaDtS3i+Mu7R0Wh75Rr+MrQCjtw@mail.gmail.com> <20110722054345.GE18126@1wt.eu> <CALiegfnYm6g63JDHLiSH__r-or3kzK0XCVa3cC7RMP14KWBOSg@mail.gmail.com> <20110724120751.GQ22405@1wt.eu> <CALiegfncavmoMp4YDCeeJ3rsOfHAYQ99itKX2Q2eHB351T3X5A@mail.gmail.com> <20110724184537.GZ22405@1wt.eu> <CALiegfne620wuDMAp235n3mVcXTAnbhhNm8vpiNCy5F7+VD92A@mail.gmail.com> <20110724192948.GD22405@1wt.eu> <CALiegf=e48kkF+Gky1mY7LippUB-0kZDgSGZrJxk1aZupAGkYw@mail.gmail.com> <20110727012806.EBB811231907@drugs.dv.isc.org> <20110727052549.GB4086@1wt.eu> <9031.1311786432.357811@puncture>
In-reply-to: Your message of "Wed, 27 Jul 2011 18:07:12 +0100." <9031.1311786432.357811@puncture>
Date: Thu, 28 Jul 2011 09:09:38 +1000
Message-Id: <20110727230938.B787612383D5@drugs.dv.isc.org>
Cc: Server-Initiated HTTP <hybi@ietf.org>, IETF-Discussion <ietf@ietf.org>
Subject: Re: [hybi] Last Call: <draft-ietf-hybi-thewebsocketprotocol-10.txt> (The WebSocket protocol) to Proposed Standard
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Wed, 27 Jul 2011 23:10:36 -0000

In message <9031.1311786432.357811@puncture>, Dave Cridland writes:
> On Wed Jul 27 06:25:49 2011, Willy Tarreau wrote:
> > On Wed, Jul 27, 2011 at 11:28:06AM +1000, Mark Andrews wrote:
> > > > SRV provides load-balancing and failover. I never said that SRV  
> > is a
> > > > solution for temporaly put in maintenance a server.
> > >
> > > Happy eyeballs however does allow you to take a server out of  
> > production
> > > and not really notice it.  Note webbrowsers have had the ability  
> > to do
> > > this for as long as webbrowsers have existed.
> > 
> > Mark, could you elaborate on this point ? Surely you're not talking  
> > about
> > the fact that a browser retries a failed connection, but I'm not  
> > not sure
> > what mechanism you're talking about.
> 
> Happy eyeballs - try everything as soon as you can, in parallel. Drop  
> everything else when one does.

More correctly it is try the first address and if that doesn't
connect in a short period (150...250ms) start a second connection
to the next address while continuing with the first.  If you have
more that 2 address you do something similar for the next one (I
use 1/2 the original timeout, but that is a implementation detail).
You continue to use the address that works for that session.  You
drop any other connections to other addresses that complete.

You get fast failover without lots of extra connection attempts
with the advantage that you detect and recover from network failures
that only affect the client.

Mark
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: marka@isc.org