Hello, is a anycasted Prefix a good idea for Streaming?
Maybe. I've used TCP anycast-based CDNs (CacheFly
and MaxCDN/NetDNA), and they work very well.
I observe they generally work something like this:
1. DNS resolution with long TTLs returning anycasted IPs.
2. Smaller HTTP requests served directly from anycast IP
with http keepalives enabled.
3. Large objects and streams do an application layer
redirect (HTTP or whatever stream protocol) to a DNS
name that returns unicast IPs for the node you
initially reached via anycast.
I would recommend looking at CDNs however, as
this is an area where scale does matter and you
will find it very difficult to do this better or cheaper
yourself.
an interesting observation.. I wonder how much something like a CDN
costs for something like the OP's usecase? I wonder if doing something
like uploading to YouTube and then letting them sort out the
streaming/locality problem is better? (also then you don't necessarily
have to run your own network stuff)
-chris
<personal hat on>
I certainly see this as a challenge to compete with the breadth of the existing CDN networks. Many cases it is just easier to outsource this function and capability. I've found myself starting to lean in the direction of minimizing the problems that I need to debug/solve. This usually results in a lower cost and more free time to deal with whatever else it is.
Building your Anycast/Mini-CDN infrastructure yourself is going to make it so you need to re-learn lessons that others have already learned. Even if you were formerly at a CDN, I'm sure there is some black magic you were unaware of.
It sounds like you have a few servers and are just trying to do IPv6 "on the cheap" or similar to HE. It may be worthwhile to avoid the tunneled infrastructure to yourself and use a carrier that has native. There are numerous carriers with a global footprint that can do this for you.
<personal hat off>
I would be cautious about the complexity and your overall requirements of performing a solution like this. Anycast is just a name for a technique, there is more to it than that to implement it. (In the same way internal combustion engines have various levels of complexity - diesel, gasoline, E85, injectors, etc).
- Jared