Global Server Load Balancing - GSLB - Definitions
Website Visitors:A GSLB configuration consists of a group of GSLB entities on each appliance in the configuration. These entities include the following:
- GSLB Sites
- GSLB Services or service groups
- GSLB Virtual Servers
- Load Balancing or Content Switching Virtual Servers
- ADNS Services
- DNS VIPs
GSLB Sites
A typical GSLB setup consists of data centers, each of which has various network appliances that may or may not be NetScaler appliances. The data centers are called GSLB sites. Each GSLB site is managed by a NetScaler appliance that is local to that site. Each of these appliances treats its own site as the local site and all other sites, managed by other appliances, as remote sites.
Relationships among GSLB Sites
The concept of sites is central to NetScaler GSLB implementations. Unless otherwise specified, sites form a peer relationship among themselves. This relationship is used first to exchange health information and then to distribute load as determined by the selected algorithm. In many situations, however, a peer relationship among all GSLB sites is not desirable. Reasons for not having an all-peer implementation could be;
- To clearly separate GSLB sites. For example, to separate sites that participate in resolving DNS queries from the traffic management sites.
- To reduce the volume of Metric Exchange Protocol (MEP) traffic, which increases exponentially with an increasing number of peer sites.
These goals can be achieved by using parent and child GSLB sites.
GSLB Services
A GSLB service is usually a representation of a load balancing or content switching virtual server, although it can represent any type of virtual server. Note that this could also be a NetScaler Gateway vServer. The GSLB service identifies the virtual server’s IP address, port number, and service type. GSLB services are bound to GSLB virtual servers on the NetScaler appliances managing the GSLB sites. A GSLB service bound to a GSLB virtual server in the same data center is local to the GSLB virtual server. A GSLB service bound to a GSLB virtual server in a different data center is remote from that GSLB virtual server.
In a GSLB setup in each site, you can create one local GSLB service and any number of remote GSLB services. It evaluates the configured GSLB methods to select the appropriate service to which to send a client request.
Sites and services are inherently linked to indicate proximity between the two. That is, all services must belong to a site, and are assumed to be in the same location as the GSLB site for proximity purposes. Likewise, services and virtual servers are linked, so that the logic is linked to the resources that are available.
GSLB Virtual Servers
A GSLB virtual server has one or more GSLB services bound to it, and load balances traffic among those services. It evaluates the configured GSLB methods (algorithms) to select the appropriate service to which to send a client request. Because the GSLB services can represent either local or remote servers, selecting the optimal GSLB service for a request has the effect of selecting the data center that should serve the client request.
The domain for which global server load balancing is configured must be bound to the GSLB virtual server, because one or more services bound to the virtual server will serve requests made for that domain.
Unlike other virtual servers configured on a NetScaler appliance, a GSLB virtual server does not have its own virtual IP address (VIP).
Load Balancing or Content Switching Virtual Servers
NetScaler Load Balancing vServer
A Load Balancing (LB) vServer on NetScaler distributes incoming traffic across multiple backend servers to ensure high availability, efficient resource use, and optimized response times. The LB vServer uses algorithms like round-robin, least connection, or least response time to decide which server should handle each request.
NetScaler Content Switching vServer
A Content Switching (CS) vServer directs incoming requests to specific backend services based on predefined policies, like URL patterns, headers, or request content. This helps deliver content to different applications or segments of an application, optimizing user experience by routing traffic based on context or specific requirements.
After a GSLB virtual server selects a GSLB service representing either a local or a remote load balancing or content switching virtual server, the client sends the request to that virtual server’s VIP address.
For more information about load balancing or content switching virtual servers and services, see Load Balancing or Content Switching.
ADNS Services
An ADNS service is a special kind of service that responds only to DNS requests for domains for which the NetScaler appliance is authoritative. When an ADNS service is configured, the appliance owns that IP address and advertises it. Upon reception of a DNS request by an ADNS service, the appliance checks for a GSLB virtual server bound to that domain. If a GSLB virtual server is bound to the domain, it is queried for the best IP address to which to send the DNS response.
DNS VIPs
A DNS virtual IP is a virtual IP (VIP) address that represents a load balancing DNS virtual server on the NetScaler appliance. DNS requests for domains for which the NetScaler appliance is authoritative can be sent to a DNS VIP.
Method: Unlike traditional dns servers that respond with ip of configured services, Netscaler appliances configured for gslb responds with ip address of services as determined by configured gslb method. GSLB method is an algorithm that the GSLB virtual server uses to select the best performing GSLB service. The algorithm assesses performance aspects that correspond to the actual selection criteria. The following methods are available:
-
Round Robin: When a GSLB virtual server is configured to use the round robin method, it continuously rotates a list of the services that are bound to it. When the virtual server receives a request, it assigns the connection to the first service in the list, and then moves that service to the bottom of the list.
-
Least Response Time: When the GSLB virtual server is configured to use the least response time method, it selects the service with the lowest value. Where, lowest value = current active connections X average response time.You can configure this method for HTTP and Secure Sockets Layer (SSL) services only. The response time (also called Time to First Byte, or TTFB) is the time interval between sending a request packet to a service and receiving the first response packet from the service. The NetScaler appliance uses response code 200 to calculate TTFB.
-
Least Connections: When a GSLB virtual server is configured to use the least connection GSLB algorithm (or method), it selects the service with the fewest active connections. This is the default method, because, in most circumstances, it provides the best performance.
-
Least Bandwidth: A GSLB virtual server configured to use the least bandwidth method selects the service that is currently serving the least amount of traffic, measured in megabits per second (Mbps).
-
Least Packets: A GSLB virtual server configured to use the least packets method selects the service that has received the fewest packets in the last 14 seconds.
-
Source IP Hash: A GSLB virtual server configured to use the source IP hash method uses the hashed value of the client IPv4 or IPv6 address to select a service. To direct all requests from source IP addresses that belong to a particular network to a specific destination server, you must mask the source IP address. For IPv4 addresses, use the netMask parameter. For IPv6 addresses, use the v6NetMaskLength parameter.
-
Custom Load: Custom load balancing is performed on server parameters such as CPU usage, memory, and response time. When using the custom load method, the NetScaler appliance usually selects a service that is not handling any active transactions. If all of the services in the GSLB setup are handling active transactions, the appliance selects the service with the smallest load. A special type of monitor, known as a load monitor, calculates the load on each service in the network. The load monitors do not mark the state of a service, but they do take services out of the GSLB decision when those services are not UP.
MEP (Metric Exchange Protocol): A proprietary protocol used to exchange metrics (load and network) and persistence information between sites. MEP provides health checking between the different sites/NetScalers in the GSLB mesh/topology. Using the criteria set by the administrator, MEP provides a way for sites to communicate and handle the traffic based on the selection parameters previously configured. MEP uses TCP ports 3009 and 3011. When MEP is disabled, the selection of methods is limited to the options listed before marked with an asterisk (*
). Any other method chosen would revert back to Round Robin.
Monitoring: The NetScaler engine periodically evaluates the state of the remote GSLB services by using either MEP or explicit monitors bound to the services in question. Monitors are used just like on a regular load balancing service. In the case of GSLB, adding monitors to local services is not required as this is typically controlled by MEP.
Persistence: An optional feature that establishes a site preference for a particular domain. In this particular use case, the traffic is not load balanced but handled by the same data center. This can be helpful in certain applications, like e-commerce, where transactional data is unique to each site/server.
Want to learn more on Citrix Automations and solutions???
Subscribe to get our latest content by email.