In october last year I made a post about the livestream platform employed by the now defunct Whenever.is.
Not much has changed since then, the tech does work and it scales nicely, as I have experienced first hand during the Clara Cow Cosplay Cup at our Animecon livestream. I underestimated the popularity of the show and deployed only one stream server. I was mistaken and had to deploy a second server during the show to keep up with the rising bandwidth use. This show is our best livestream to date with 600 viewers worldwide.
Because the rising worldwide popularity of our livestreams at Animecon, I decided to research geolocatization. It is a technique to send users to the closest location and not the other side of the Earth. Since our main location is Amsterdam, the Netherlands viewers from Asia, Oceania and the Americas had to cross vast distances to view our content. With geolocatization people from the Americas will connect with servers in New York, United States and pople in Asia and Oceania will connect with servers in Singapore. Africa and Europe will still use our servers in Amsterdam, the Netherlands.
The way I have achieved this is extending my current DNS setup. As every website on the internet, I use a minimum of 2 authorative dns servers. 1 of those is located in Amsterdam and the other is located in Roubaix in northern France. The software I use is PowerDNS, which makes it easy to aggregate new changes in DNS data. And deploy DNSSEC, an extension for DNS which provides a way to verify your DNS answers by cryptographicly sign them.
For this project I installed the pdns-geo module on both servers and installed a subdomain which will forward users to their closest server pool. by default they all terminate in Amsterdam, but I can easily change them to their respective location. It’s an easy way without expensive loadbalancers to distribute the load.