Live data from Hacker News

How to implement a multi-CDN strategy

blog.streamroot.io

1–10 of 59 posts

Re: How to implement a multi-CDN strategy

#3
post #2

Shower thought: what if html/http/browsers supported, as a primitive, the concept of "fetch this asset from url A, or if that doesn't work, B, or if that doesn't work, C ..."?

Combine with SRI and some convention to just ask one of several hosts for it based on the hash(es) and we have concent-addressable loading.

Re: How to implement a multi-CDN strategy

#5
post #2

Shower thought: what if html/http/browsers supported, as a primitive, the concept of "fetch this asset from url A, or if that doesn't work, B, or if that doesn't work, C ..."?

Internal browser support for local caching based on a hash versus "where it came from" would be helpful as well.

Re: How to implement a multi-CDN strategy

#6
post #2

Shower thought: what if html/http/browsers supported, as a primitive, the concept of "fetch this asset from url A, or if that doesn't work, B, or if that doesn't work, C ..."?

Are you thinking of something like BitTorrent? Why ask for the whole file from a list of hosts when you could ask for any bit of the file they might have?

Re: How to implement a multi-CDN strategy

#7
post #2

Shower thought: what if html/http/browsers supported, as a primitive, the concept of "fetch this asset from url A, or if that doesn't work, B, or if that doesn't work, C ..."?

Can't you do that with DNS records where there are multiple IPs on a A record?

Basically, we're already doing this for fault tolerance and load balancing within a single CDN. Except that currently we randomize the IPs. To enforce priorities, you'd want the IPs in the A record at least partially ordered by provider.

Re: How to implement a multi-CDN strategy

#8
post #3
post #2

Shower thought: what if html/http/browsers supported, as a primitive, the concept of "fetch this asset from url A, or if that doesn't work, B, or if that doesn't work, C ..."?

Combine with SRI and some convention to just ask one of several hosts for it based on the hash(es) and we have concent-addressable loading.

So IPFS?

Re: How to implement a multi-CDN strategy

#9
post #2

Shower thought: what if html/http/browsers supported, as a primitive, the concept of "fetch this asset from url A, or if that doesn't work, B, or if that doesn't work, C ..."?

Then people would create browser plugins or greasemonkey scripts to always optimise for things the viewer cares about (time to start, likelihood of switching providers mid-stream, likelihood of getting full resolution for the longest subset of the video, ...) and disregard the prioritisation set by the provider (which might care about costs, which depend on contracted minimums, overage tariffs etc.).

Then providers would need to combat this by dropping the most expensive CDNs, causing a race to the bottom in which everyone loses: users have worse streaming experience, providers lose customers, good CDNs make less money, margins for bad CDNs are squeezed.

Re: How to implement a multi-CDN strategy

#10
post #5
post #2

Shower thought: what if html/http/browsers supported, as a primitive, the concept of "fetch this asset from url A, or if that doesn't work, B, or if that doesn't work, C ..."?

Internal browser support for local caching based on a hash versus "where it came from" would be helpful as well.

Yes that would be great. Imagine a git-like web, where browsers could fetch the difference in chunks of a cached file when there's changes on the server side.
Post reply on HN