Load Balancing for a Single UCS Database
Purpose: To configure Apache HTTP load balancing for the UCS database.
This solution provides a deployment example of multiple Context Services instances, running with 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.
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.
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.