Limitations of DNS-based load balancing

As a DNS-based system, GTM only communicates with client caching nameservers. It has no idea of the actual user IP addresses on behalf of whom the client caching nameservers are acting, unless ECS (EDNS0 End-User Client Subnet) is enabled for the domain and the end user is using a resolver with which Akamai has an ECS agreement, for example Google Public DNS or OpenDNS. Moreover, GTM cannot keep track of what answers it has given in the past per nameserver, as there are too many client caching nameservers for that to be practical.

One consequence of this is that it is impossible to guarantee stickiness. Using the Weighted Random Load Balancing with Data Center Stickiness property type and the Persistent Assignment handout mode can improve the chances of keeping a user mapped to the same server over time, so as to preserve things like server-side session state, but can not guarantee, stickiness.

Another consequence is that GTM can only direct load represented by client caching nameserver, not users. As an extreme example, suppose that all of your users happen to use the same client caching nameserver. It is impossible for GTM to split this load based on the identity of the requester, because all requests come from the same IP. The only way to balance this load would be by weighted random load balancing, which computes a random answer on each request without regard for who is asking.