The primary functions of Load Balancer interact with each
other and your server configuration to balance network traffic in
your environment.
Dispatcher consists of the following functions:
- dsserver handles requests from the command line to the
executor, manager, and advisors.
- The executor supports port-based load balancing of TCP
connections. It is able to forward connections to servers based on
the type of request received (for example, HTTP, FTP, SSL, and so
forth). The executor always runs when the Dispatcher component is
being used for load balancing.
- The manager sets weights used by the executor based on:
- Internal counters in the executor
- Feedback from the servers provided by the advisors
- Feedback from a system-monitoring program, such as Metric Server
or WLM. Using the manager is optional. However, if the manager is
not used, load balancing is performed using weighted round-robin scheduling
based on the current server weights, and advisors are not available.
- The advisors query the servers and analyze results by protocol
before calling the manager to set weights as appropriate. Currently
there are advisors available for the following protocols: HTTP, FTP,
SSL, SMTP, NNTP, IMAP, POP3, SIP, and Telnet. Dispatcher also offers
advisors that do not exchange protocol-specific information, such
as the DB2 advisor that reports on the health of DB2 servers and the
ping advisor that reports whether the server responds to a ping. For
a complete list of advisors, see List of advisors.
You also have the option of writing your own advisors (see Creating a custom advisor). Using the advisors is optional
but recommended.
- To configure and manage the executor, advisors, and manager, use
the command line (dscontrol) or the graphical user interface
(lbadmin).
The three key functions of Dispatcher (executor, manager, and advisors)
interact to balance and dispatch the incoming requests between servers.
Along with load balancing requests, the executor monitors the number
of new connections, active connections, and connections in a finished
state. The executor also does garbage collection of completed or reset
connections and supplies this information to the manager.
The manager collects information from the executor, the advisors,
and a system-monitoring program, such as Metric Server. Based on the
information the manager receives, it adjusts how the server machines
are weighted on each port and gives the executor the new weighting
for use in its balancing of new connections.
The advisors monitor each server on the assigned port to determine
the server's response time and availability and then give this
information to the manager. The advisors also monitor whether a server
is up or down. Without the manager and the advisors, the executor
does round-robin scheduling based on the current server weights.