POOL: A new virtual record providing a pool of CNAME records

Following up on the ALIAS record, I’m pleased to announce the general availability of a new virtual record type: the POOL record. The POOL record type lets you create multiple CNAME records on the same subdomain. On each request our authoritative name server will serve up one of the CNAME records randomly. Using our API you may add POOL records when they become available or remove them when the node they represent is not available.

The POOL record type was built to provide a simple mechanism for referencing nodes via CNAME records so service providers can control what hosts are available to respond to requests even though you might not control the A records for those nodes. For example, if you had one node on Amazon EC2 and another node on Rackspace’s Cloud then you could create two POOL records with the same name, one aliased to the EC2 node name and one aliased to the Rackspace node name. If either one of those nodes becomes unavailable you can remove its POOL record until it becomes available again.

At the moment we do not perform any monitoring of nodes: it is up to you to determine what constitutes a failed node if you want to remove its POOL record. Consider the current implementation a functional beta. Let us know if it is useful to you and how we might improve it. Your feedback is always appreciated.

Speaking of the ALIAS record…

We’re continuing to improve the reliability of the ALIAS record and reduce the lookup required when serving up an uncached ALIAS response. As of today we now have improved internal caching so if an upstream resolver fails to respond we can still provide a reasonable response to you. This should reduce the chance of the name server timing out and downstream resolvers caching negative results. We will continue to look for ways to enhance the performance of the ALIAS record, and as always if you have any issues with it please do let us know.

2 Responses to POOL: A new virtual record providing a pool of CNAME records
  1. John
    March 22, 2012 | 12:09 pm

    How does this differ from round robin DNS? I guess to be able to only send a requester a single IP… to make sure the randomization happens at the DNS level… but under what circumstances does this matter?

    • Anthony Eden
      March 22, 2012 | 12:24 pm

      Round robin DNS only works for A records, whereas this can be used for multiple CNAME records. Imagine if you will you have a CNAME for Amazon and a CNAME for Google App Engine (as an example). This would allow you put both of them on a single name and they would then be randomly returned, thus letting you deliver traffic to both endpoints (each CNAME could alias to multiple IPs, so you’d still get round robin there).

      Make sense?

Leave a Reply

Wanting to leave an <em>phasis on your comment?

Trackback URL http://blog.dnsimple.com/pool-a-new-virtual-record-providing-a-pool-of-cname-records/trackback/