Anycast DNS

Introducing Anycast DNS

We are happy to announce that after a month of testing, two weeks ago we've silently released our anycast DNS to all customers. Anycast is a routing method in which a single destination address is routed to multiple endpoint addresses. The shortest network path between the client and the server is being used automatically to ensure low latency and fast connectivity, and in the event of a failure of one or more endpoints, the algorithm will exclude them from the mix, redirecting all requests to the healthy ones. Just like our failover system system does for PUSHR CDN's edge network.

Why is it important?

Anycast is an important addition to PUSHR CDN's network as we've been continuously lowering the TTL (time to live) values of our customers' DNS records in order to make the most from our in-house failover system which ensures continuous uptime during the event of failure of a single machine or a whole data centre in any of our locations. The TTL value of the records specifies for how long a browser should cache the resolved IP address. On the client side, this speeds up subsequent requests as there is no need to contact the name servers again after the first request - the IP is already resolved. However, should the server behind the cached IP address fail, the browser will continue to try to fetch content from it until the TTL value is reached. This is problematic as the browser will not know that our failover system has kicked in and has excluded the faulty edge location from the mix. On the other hand, having a low TTL value means that the browser will be contacting the name servers very often to resolve the IP address again, and this would introduce latency in subsequent requests, providing for an overall slower experience, especially if the name servers are located physically far away from the browser. Lower TTL also means that the name servers now need to process more requests and to work harder. Anycast deals with this overhead by routing the requests to a total of 9 different locations around the globe where we have deployed our name servers, spreading the load and providing a huge boost in the RPS (requests per second) .

Huge Speed up

The speed improvements have been extreme. In Miami we observe 188ms latency before the upgrade and 0.63ms after: 

Anycast DNS and PUSHR CDN
United States DNS resolution compared before and after anycast implementation

Same goes for Singapore: 

Singapore DNS acceleration with Anycast DNS
DNS resolution ins SIngapored compared before and after anycast implementation

The numbers are striking and are making PUSHR CDN one of the best performing networks in the price segment we operate in.

Higher resilience

The addition of these 9 locations across the globe makes our network more fault tolerant and resilient to attacks. Anycast routing is an effective strategy to distribute and absorb attack traffic which would otherwise hit a single endpoint that could be easier to overload. Apart from the 9x more absorbing capacity, all name servers have additional DDoS protection that can be triggered instantly.

Anycast is enabled by default for all customers free of charge.

*Measurements data provided by CDNPerf


Related posts

Introducing sub-second cache purge

One of the main ways for a content delivery network to accelerate a piece of content is to cache it on an edge server in close proximity to the visitor. Once cached (usually after the first request) the content is served to all visitors at high speed, without the need to contact the origin, which may be physically located in a distant country or even on another continent. This greatly accelerates the rate at which visitors can fetch a copy of your content and it also allows you to scale seamlessly since all the load from the origin is shifted to the CDN.