This article contains information about Global Server Load Balancing (GSLB) Dynamic Proximity set up on a NetScaler appliance.
GSLB is a Domain Name Server (DNS) based solution that load balances services between geographically distributed locations. GSLB relies on DNS for directing client requests. GSLB enables the NetScaler appliance to make intelligent network traffic direction decisions based on the configured method.
Note: NetScaler also supports other methods of configuring the GSLB. Refer to NetScaler Product Documentation - Configuring Global Server Load Balancing (GSLB) for more information.
When configuring NetScaler GSLB to use the client proximity, you can choose one of the following proximity methods:
Static Proximity
Dynamic Proximity
This article explains how Dynamic Proximity works on NetScaler GSLB.
Network proximity is a measure of how far a user is located from a data resource in terms of network distance or time. The GSLB feature monitors the real-time status of the network and directs the request of the client to the best site. GSLB uses Round Trip Time (RTT) metric to measure network proximity. The RTT between the Local DNS (LDNS) of the client and each of the GSLB sites is measured. The appliance then uses this metric to make the load balancing decision. The DNS response generated by the appliance has the IP address of the site closest to the LDNS of the client in terms of RTT.
When the LDNS of a client accesses the GSLB site for the first time, the RTT information is not available with the system. In such cases, the GSLB virtual IP address selects a site using the round robin method and directs the client to this site. The system then starts calculating the RTT between the site and the LDNS.
A NetScaler appliance uses different mechanisms, such as ICMP echo request/reply (ping), UDP (DNS), and TCP, to probe the RTT metrics between the LDNS and the sites participating in the GSLB domain. Three LDNS monitoring methods can be used to obtain the RTT to an LDNS. The monitor is clocked and RTT is calculated after the response from the LDNS is received.
PING: ICMP Echo Request or Reply
DNS: Query or Response
TCP: Synchronize to a higher order port
Once the RTT metrics are populated, the appliance distributes subsequent client requests based on the least RTT. The appliance also periodically shares the RTT metrics with the NetScaler appliances deployed in other server farms.
You can run the show ldnsentries command to see the population of LDNS entries. You can also view the LDNS entries from the Graphical User Interface from the GSLB > LDNS Entries node.
In the LDNS entries table in GSLB > LDNS Entries node, a RTT value of 0 in the LDNS Entries table indicates that the appliance received the response for the RTT probe to the LDNS in a time less than 1 millisecond.
When one site shows a RTT of 0 and the rest of the sites show a RTT of T-out, it means that the RTT for the site showing RTT 0 was less than 1 millisecond and the RTT for the rest of the sites could not be calculated by the respective GSLB site by the methods of ping, TCP, and DNS. The appliance chooses the GSLB site with the RTT of 0 and ignores the rest of the sites with RTT of T-out. In this case, the backup method of GSLB Load Balancing is not used, it is used only when each of the sites calculate a RTT of T-out.
The NetScaler appliance uses the proprietary Metric Exchange Protocol (MEP) to exchange site metrics, network metrics, and persistence information between sites. The site with the lower GSLB site IP address initiates the connection with the site with the higher GSLB site IP address. By default, this connection is made from the NetScaler IP (NSIP) address to the GSLB site IP address. However, you can configure the appliance to use an IP address other than the NSIP. The communication process is accomplished between each GSLB site on TCP port 3011 or port 3009 (if secure).
The following are the three types of data that are exchanged among the appliances and the respective intervals and exchange methods:
Site Metric Exchange: This is a polling exchange model. The GSLB site metric exchange interval is one second. Site information consists of the current number of connections and current packet rate for a load balancing virtual server. For example if a site has a configuration for the services of another site, then after every one second, the first site requests the other site for the status of the GSLB services. The other site responds with the state and the other load details.
Network Metric Exchange: This is the LDNS RTT information exchange, which is used in the dynamic proximity load balancing algorithm. This information is exchanged every five seconds. This is a push exchange model. Every five seconds, each site sends its data to other participating sites.
Persistency Exchange: This is for SOURCEIP persistency exchange. This is also a push exchange model. Every five seconds, each site sends its data to other participating sites.
When MEP is disabled, GSLB methods are limited to round robin, static-proximity, and source IP address hash. All other methods revert to round robin when MEP is disabled.
MEP is used to exchange all statistics, including service health state, related to a GSLB service. If an explicit monitor is bound, then the appliance ignores the GSLB service state collected through MEP, and GSLB uses the state reported by the monitor.
Use the following commands to configure GSLB:
set gslb vserver GSLBVserverName -lbMethod MethodType
set gslb vserver gslb_vip –lbMethod RTT
Notes:
The correct port 3011 or 3009 (if secure) must be open on any firewalls between the appliances.
The public IP address of the site must be allowed on any blocking firewall.