From: "H. Peter Anvin" <hpa@zytor.com>
To: "Shawn O. Pearce" <spearce@spearce.org>
Cc: git@vger.kernel.org
Subject: Re: Git-aware HTTP transport
Date: Tue, 26 Aug 2008 09:33:00 -0700 [thread overview]
Message-ID: <48B4303C.3080409@zytor.com> (raw)
In-Reply-To: <20080826145857.GF26523@spearce.org>
Shawn O. Pearce wrote:
>
> Hmm. I'm actually thinking the exact opposite here. My rationale
> for putting the response as a standard HTTP 302/303 style redirect
> is to permit hardware load balancers or Apache mod_rewrite rules
> to implement simple load balancing with a HTTP redirect.
>
> If we embed the redirect URL into the payload then configuring that
> will become a lot more complex. At the minimum you may have to
> make up a dummy file for each server (holding the response payload)
> then then let mod_rewrite rewrite the request internally to make
> Apache serve that file. Ugly.
>
No, you're thinking backwards. What you want is the standard HTTP
redirect load balancing to take effect *before* the initial request is
serviced. The front-end load balancer will take effect on the initial
request, and then redirect the request to a node (via a 302 reply.) The
target node then sends a self-referencing URL to keep the service local,
if that is desired -- otherwise it doesn't.
Again, the 300-class redirect is treated as a part of the HTTP transport
in this case; it doesn't have to be visible to the RPC layer. However,
in order to maintain the integrity of an interchange, we do need an
additional level of redirection visible to the RPC layer.
> If we embed the redirect URL into the payload then configuring that
> will become a lot more complex. At the minimum you may have to
> make up a dummy file for each server (holding the response payload)
> then then let mod_rewrite rewrite the request internally to make
> Apache serve that file. Ugly.
A very simple CGI/PHP script will do this, and it's really very very
trivial to set up.
Please keep in mind I'm not talking hypotheticals at all. What you have
proposed is actually a lot uglier for kernel.org to implement, simply
because we try to stay with strict IP-based vhosting
-hpa
next prev parent reply other threads:[~2008-08-26 16:34 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-26 1:26 Git-aware HTTP transport Shawn O. Pearce
2008-08-26 2:34 ` H. Peter Anvin
2008-08-26 3:45 ` Shawn O. Pearce
2008-08-26 3:59 ` david
2008-08-26 4:15 ` H. Peter Anvin
2008-08-26 4:25 ` david
2008-08-26 4:42 ` H. Peter Anvin
2008-08-26 4:45 ` Imran M Yousuf
2008-08-26 17:01 ` Nicolas Pitre
2008-08-26 17:03 ` Shawn O. Pearce
2008-08-26 4:14 ` H. Peter Anvin
2008-08-26 14:58 ` Shawn O. Pearce
2008-08-26 16:14 ` Shawn O. Pearce
2008-08-26 16:33 ` H. Peter Anvin [this message]
2008-08-26 17:26 ` Shawn O. Pearce
2008-08-26 22:38 ` H. Peter Anvin
2008-08-27 2:51 ` Imran M Yousuf
2008-08-28 3:50 ` Shawn O. Pearce
2008-08-28 4:37 ` H. Peter Anvin
2008-08-28 4:42 ` Shawn O. Pearce
2008-08-28 4:58 ` H. Peter Anvin
2008-08-28 6:40 ` Imran M Yousuf
2008-08-28 4:42 ` Junio C Hamano
2008-08-28 14:57 ` Shawn O. Pearce
2008-08-28 17:26 ` david
2008-08-28 17:28 ` Shawn O. Pearce
2008-08-28 17:37 ` david
2008-08-28 17:38 ` Daniel Stenberg
2008-08-28 17:43 ` Shawn O. Pearce
2008-08-28 17:47 ` H. Peter Anvin
2008-08-28 18:04 ` Mike Hommey
2008-08-28 17:43 ` H. Peter Anvin
2008-08-28 18:12 ` david
2008-08-28 18:14 ` H. Peter Anvin
2008-08-28 18:18 ` david
2008-08-29 4:02 ` Junio C Hamano
2008-08-29 5:11 ` H. Peter Anvin
2008-08-29 6:50 ` Junio C Hamano
2008-08-29 17:39 ` Shawn O. Pearce
2008-08-29 19:55 ` Nicolas Pitre
2008-09-01 16:05 ` Tarmigan
2008-09-01 16:13 ` Tarmigan
2008-09-02 6:06 ` Shawn O. Pearce
2008-09-02 6:09 ` H. Peter Anvin
2008-09-02 6:13 ` Shawn O. Pearce
2008-09-02 18:20 ` Tarmigan
2008-08-28 17:05 ` H. Peter Anvin
2008-08-28 17:10 ` Shawn O. Pearce
2008-08-28 17:20 ` H. Peter Anvin
2008-08-28 17:26 ` Shawn O. Pearce
2008-08-28 17:44 ` H. Peter Anvin
2008-08-28 17:46 ` Shawn O. Pearce
2008-08-28 18:40 ` Nicolas Pitre
2008-08-28 18:47 ` H. Peter Anvin
2013-02-13 1:34 ` Git-aware HTTP transport docs H. Peter Anvin
2013-02-13 2:23 ` Scott Chacon
2013-02-13 15:29 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48B4303C.3080409@zytor.com \
--to=hpa@zytor.com \
--cc=git@vger.kernel.org \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).