On 2020/03/19 00:55, tom ryan wrote:
> On 2020-03-18 19:42, Stuart Henderson wrote:
> > On 2020-03-17, Flipchan <flipc...@riseup.net> wrote:
> >> Yeah the point with a cdn is to lower the latency of it so therefor you 
> >> what is needed is just not only a fast http server but  a traffic 
> >> redirector depending on the end users origin
> > 
> > Doing this via redirects does not lower latency, it increases it.
> > 
> > It may reduce overall time to fetch objects if they are large enough
> > that faster transfers speed things up enough to offset the higher
> > latency from connecting to one server, requesting, being redirected,
> > connecting to the second server, requesting, receiving content.
> 
> This is equally true if there are many objects to fetch, especially if
> they aren't all fetched at once - they don't need to be large for the
> magic to help.

It's faster than a cold connection, but "request from A, wait for reply,
see that it's a redirect, request from B, wait for reply" is always going
be higher latency before starting to receive the requested object
directly from B.

> > To reduce latency you need another way to direct users to a nearby
> > server without doing redirects. Usually either geolocation-aware DNS
> > that hands out an IP address close to the user's DNS resolver (this
> > can have problems if the user uses a non-local resolver as is the case
> > with some DNS privacy services, but is not usually too bad - look at
> > thd geoip flavour of the isc-bind port, or gdnsd)), or BGP anycast with
> > connections to other networks around the world (as well as BGP skills,
> > you need an AS number, at least a /24 of address space that you can use
> > for this purpose, and hosting providers that will allow you to make BGP
> > announcements).
> 
> I've never used this, but it definitely attempts to solve these issues:
> https://trafficcontrol.apache.org/
> 
> IIRC it was developed at Comcast for VOD (ie many large objects), and is
> built around Apache Traffic Server (ex Yahoo)
> 
> It uses DNS to get as close as it can, then 302s the first HTTP request
> based on source IP



> > Alternatively the pages pulling in the content can do a dynamic
> > lookup and use a local-to-the-user hostname when referencing
> > the objects (<script src="//www-eu.example.org/resource.js"> etc..
> 
> What kind of in-browser dynamic lookup do you mean here? Something based
> on language, or maybe localtime?

I meant server-side when generating the page, doing a lookup from
either route tables or a geolocation database and picking a suitable
hostname.

> 
> This might also be of interest to the OP:
> https://developers.google.com/speed/pagespeed/module/
> On-the-wire
> 
> t
> 
> > Or of course you can outsource it (limelight, vdms, fastly,
> > cloudflare, cachefly, edgecast, cloudfront, akamai and others).
> > 
> 

Reply via email to