This type of load balancing uses integrated monitoring checks, like Round Robin with Failover, but also accounts for the round trip time (RTT) of the systems in your load balancing configuration. You can configure your pools to only send traffic to the fastest responding system or systems in your pool. Latency load balancing is ideal for multi-vendor configurations like multi-CDN or multi-cloud.
Keep in mind… Latency load balancing is configured by region, so you want to have multiple resources in whichever region you are using this feature. This kind of load balancing is configured using Record Pools. Pools are groups of endpoints, which are applied to DNS records. When the record is queried, it will rotate through the different endpoints in the pool at each request. We like to think of round robin pools as rotors.
How to Setup ITO Record Pools
1. Create Sonar Monitoring Checks
ITO Pools are made up of endpoints that are dynamically served to end-users based on how fast they respond. This way, end-users are always pointed to the best performing endpoints every time. You can create either A or CNAME record pools, which consist of multiple IP addresses or hostnames respectively. You will need to create a monitoring check for each endpoint (IP address or hostname) in Sonar.
For each check, you will want to make sure you choose all of the locations you want to use in your ITO pools later on. Let’s say you want to create ITO Pools for NA East and NA West. You will want to select multiple monitoring nodes in each region for that check. That means you won’t need to create separate checks for each region, just separate regional pools.
Make note of the Check Interval you select for your monitoring checks. This decides how often Sonar will check the resolution time of your endpoint. When you create your ITO pool, you will use a similar feature called Pool Frequency which is how often DNS asks Sonar for resolution times.
If these numbers don’t match up, you could be hurting your performance. One thing to note, lowering the interval between checks will cost more, however, it’s a worthy price to pay to ensure the best performance.
Check Interval Policy
Another feature you need to watch out for is the Check Interval Policy. If you have more than one location in each region (which is highly advisable), you will want to have Sonar check each location every time it checks that endpoint.
For example, if you have a regional pool in US East and you want to monitor from NYC, DC, and Miami. You would want Sonar to check all three locations simultaneously for that endpoint at every interval, rather than rotating through each location at each interval.
This helps you get the most accuracy and most up-to-date information about your endpoints.
2. Setup Your Pool
Create either an A or CNAME record pool. Decide how many endpoints you want to be returned in the pool, then Enable ITO.
Make sure the Pool Frequency is the same as the Check Frequency we mentioned earlier. Choose your monitoring region, and make sure you are monitoring more than one location in that region with your Sonar check.
Available regions are:
In the Return Best Performing drop-down, choose how many of the returned endpoints you want to be optimized by ITO. This number cannot exceed the number you entered for Min Available.
You can also control how often Constellix DNS changes which endpoints are in the pool based on performance deviations. Let’s say these are the available endpoints for your pool.
Right now, CDN1 and CDN2 are being served. However, CDN3 is now the fastest responding endpoint. If we have a deviation allowance of 50% of lower, then CDN3 would replace CDN1 as an active endpoint in the pool.
The lower the deviation allowance, the more often the pool will change which endpoints are being served. You can lower your monthly bill by increasing the deviation allowance. This increases the threshold that needs to be crossed to update the endpoints in a pool. Just like the Check Interval Policy, the price could be worth it depending on how the performance of your endpoints could impact revenue and end-user satisfaction.
You can create groups of contacts that will be alerted of every ITO Pool event. Every time an endpoint becomes active or conversely inactive from a pool, a specified group of contacts will be alerted via email.
If you have a preferred endpoint, you can tell ITO to return that endpoint more often. Let’s say we want to return CDN3 twice as often as CDN1. We would set the weight for CDN3 to 20 and the rest of the endpoints will stay at the default of 10.
Combine with GeoDNS
5. Regional Setup
We briefly mentioned earlier that you can create pools for different regions. This is really helpful if you have a CDN or set of CDN’s that perform better in one region, but the cost is only worth it in that one area.
Each time you create a regional pool, make sure you include the region in the name.
Make sure you use the same region for the Monitoring Region setting in your record pool and choose monitoring nodes in the same region when you configure the associated check in Sonar.
Combine with GeoDNS
ITO Pools take regional routing to a new level. You can combine our tried and true GTD service with ITO Pools to deliver end-users to the best possible endpoint based on their current location. Remember those regional pools we just talked about? In each GTD region, apply the corresponding regional pool to the desired record. Want to go above and beyond? You can use this same technique for our GeoIP services like GeoProximity and GeoFilters.