Load Balancing for a Single Context Server Database
Purpose: To configure Apache HTTP load balancing for the UCS database. |
Contents
Overview
This solution describes how to have several Context Services to a single UCS database. The requests to Context Services are balanced between the servers using the Apache HTTP load balancing server. This type of configuration is beneficial for those environments experiencing high traffic to the Context Services server by providing high availability or redirecting requests to another site based on bandwidth consumption.
Architecture
The following diagram illustrates load balancing for Context Services.
Configuration
UCS/Context Services Configuration
The UCS application must be configured to run in Context Services mode. All other services must be disabled in the Configuration Server.
Apache HTTP Server Configuration
The Apache HTTP server uses the mod_proxy module for load balancing configuration. This mod_proxy module is directly maintained by Apache and allows more features for better performance compared to other modules (for example, mod_jk). The Apache server must load the modules. Requests to Context Services are forwarded to a cluster member, depending on the load factor. If the cluster member fails, requests are sent to the hot standby members. Apache see these members as hot stand-by; however, the Genesys configuration has them configured as Primary.
The mod_proxy module uses the lbmethod load balancing scheduler. It has three algorithms:
- byrequests>—performs weighted request counting.
- bytraffic—performs weighted traffic byte count balancing.
- bybusyness (Apache HTTP Server 2.2.10 and later)—performs pending request balancing.<br>
The default configuration uses the byrequests algorithm. For more information, see the Apache documentation for mod_proxy.
Limitation
If the schema changes after creating the extension on one Context Services server instance, you must refresh other instances internal caches by calling the /metadata/cache URI.