Topology-Based Load-Balancing Configuration Question
I would like to configure Topology-Based Load balancing with GTM for a new app and learned of two ways that seem to work and that are used at my company. I would appreciate it if soemone could comment as to the pros and cons of each, and maybe elaborate a little on how it actually is working (in the one case).
For the first way:
Wide-IP name is called App.3d.prci.com, and it has Two Pools called East and West, and Topology-Based LB on the wide-IP.
East Pool includes three virtual servers, with Preferred LB method of Ratio, Alt method of RR, and Fallback to DNS. Pool Member configuration is:
ServerEast1 has Ratio 1 and is in East Data Center
ServerEast2 has Ratio 1 and is in East Data Center
ServerWest1 has Ratio 0 and is in West Data Center
West pool includes three virtual servers, with Preferred LB method of Ratio, Alt method of RR, and Fallback to DNS. Pool Member Configuration is:
ServerEast1 has Ratio 0 and is in East Data Center
ServerEast2 has Ratio 0 and is in East Data Center
ServerWest1 has Ratio 1 and is in West Data Center
Two Topology Records were created:
If LDNS request from East Region then Destination is East Pool
If LDNS request from West Region then Destination is West Pool
Two Regions were created, East and West, based on IP Subnets
The above works fine to make sure that requests from East always get a ServerEastx server returned and only get ServerWest if both ServerEastx are down. Similarly for the West request returning ServerWest1 unless that VS is down. However to me it is confusing to include West VS in the East Pool and East VS servers in the West pool. Also, when you click on the Wide-IP and then the Pools tab to see the status of the Pools, you could have a situation where both pools are green (up) even if both ServerEast VS are down in East, and so only one server in West is up and active for the whole enterprise.
That brings me to the second way, which kind of makes more sense to me, but I don't quite understand the details of how it works:
Second Way:
Same Wide-IP name, same pool names, and same Topology-based LB on the Wide-IP
East Pool includes two virtual servers with Preferred LB method of RR, and Alt method None, and Fallback of None. Pool Member configuration is:
ServerEast1 has Ratio 1 (does not matter?) and is in East Data Center
ServerEast2 has Ratio 1 (does not matter?) and is in East Data Center
West Pool includes one virtual server with preferred LB method of RR (guess does not matter) and Alt method of None and Fallback of None. Pool member config is:
ServerWest1 has Ratio 1 and is in west Data Center
Two Topology records were created same as above
Two Regions created, same as above
This second way seems to work fine as long as the Alternate and Fallback methods on the East and West Pools are set to None. Requests from East get East servers and requests from West get the West server, unless one of the pools (East or West) are down, then a server from the other pool is returned.
Which of the above is the better configuration?
And why does the second way work? As the GTM makes the Topology-Based LB decision on the Wide-ip, does it look at the Pool availability first before answering? It seems like it is ignoring the Topology records in the second case, but the end result is the desired one.
To me, the second way is better in terms of seeing the true state of the servers in each data center, i.e. if both ServerEastx are down, the East Pool will be down, and this will be obvious when drilling down from the Wide-ip to the Pools in it.
Can anyone comment on the Pros and cons of each, and explain what is happening at the wide-ip level in the second way?
Thanks