Contents

Global Server Load Balancing - GSLB

Website Visitors:

What if your company has application servers hosted across multiple data centers and wants to distribute traffic based on load, server proximity, persistence requirements, or needs disaster recovery?

NetScaler GSLB

Citrix NetScaler features a solution called Global Server Load Balancing (GSLB) that addresses these challenges. NetScaler GSLB is a DNS-based solution that employs various technologies to distribute resources across multi-site data center locations.

How DNS Works (Traditional Method)

With ordinary DNS, when a client sends a domain name system (DNS) request, it receives a list of IP addresses of the domain or service. Generally, the client chooses the first IP address in the list and initiates a connection with that server. The DNS server uses a technique called DNS round robin to rotate through the IPs on the list. It sends the first IP address to the end of the list and promotes the others after it responds to each DNS request. This technique ensures equal distribution of the load, but it does not support disaster recovery, load balancing based on load or proximity of servers, or persistency.

How NetScaler GSLB Can Help

NetScaler GSLB provides solutions to all the above needs. With GSLB, the NetScaler appliance acts as a DNS server, either by being configured as an authoritative DNS or by acting as a DNS proxy. In either case, the local DNS (LDNS) can query the appliance directly for the IP address of a host in their subdomain. The NetScaler appliance then uses GSLB to determine which IP addresses to send back to the LDNS in response.

While GSLB operates similarly to traditional DNS, it incorporates more advanced logic, including:

  • Load and capacity of resources on the network
  • The IP address or interface from which the query originated
  • Previous requests made from the same IP or network
  • Health state of resources

When GSLB is configured on ADC appliances with MEP (Metrics Exchange Protocol), the DNS infrastructure connects the client to the data center that best meets specific criteria. These criteria can include:

  • Least loaded data center
  • Closest data center
  • The data center that responds most quickly to client requests
  • A combination of those metrics and SNMP metrics

Citrix ADC appliances configured for GSLB offer disaster recovery and ensure continuous availability by protecting against points of failure in the WAN. GSLB balances the load across data centers by directing client requests to the closest or best-performing data center, or to surviving data centers in case of an outage.

Data centers in a GSLB setup exchange metrics with each other through MEP, a proprietary protocol for NetScaler appliances. This exchange includes load, network, and persistence information, and MEP can synchronize traffic across up to 32 sites.

GSLB Deployment Types

Active-Active Deployment:
An active-active setup consists of multiple active data centers, with client requests load balanced across all of them. This deployment type is ideal for global distribution of traffic in a distributed environment.

Active-Passive Deployment:
An active-passive setup includes one active and one passive data center. In the event of a failure, the active site becomes inactive, and the passive data center becomes active. This type is best suited for disaster recovery.

Since MEP can sync only 32 sites, both active-active and active-passive deployments are limited to a maximum of 32 GSLB sites.

Parent-Child Deployment:
To overcome the 32-site limit, the parent-child deployment allows for 1024 child sites in addition to the 32 parent sites. This is achieved by creating mesh connections between the sites, allowing them to make load balancing decisions. However, because many sites are involved, MEP traffic can become too heavy, so parent-child deployments are recommended only for larger-scale environments.

Want to learn more on Citrix Automations and solutions???

Subscribe to get our latest content by email.

If you like our content, please support us by sponsoring on GitHub below: