Load-balancing is a technique or facility that attempts to provide an even backlog of demand across multiple processors or production facilities. This term is used in two (unrelated) contexts.
If a team or work group of operators are equally capable of performing a new assignment, a router task () in the flow can send the assignment to the operator with the shortest worklist, in the interests of fairness and throughput.
The definition of "shortest" may differ from application to application, and may not be a simple count of assignments on each operator's worklist.
For example, the standard routing activity named Work-.ToLeveledGroup sends an assignment to the operator within a specific work group who has the least urgent total worklist, based on a computed score. It uses the standard function pickLoadBalancedWorkGroup (in the Routing library) to combine information about operator skills, operator availability, work object urgency, and effort. As an output, this activity identifies one member of a work group who will receive the next assignment. PRKB-19667
In a multinode Process Commander system, server demands from interactive user sessions are ideally balanced across nodes in relation to their power. (Some processing workload arises from agents and services rather than from interactive users; this can occur on designated nodes.)
Typically, such load balancing is achieved with hardware routers that support "sticky" HTTP sessions, so that a user who happens to first log into node ALPHA remains with ALPHA for the duration of the session. For example, Cisco Systems Inc. and F5 Networks Inc. offer such hardware (among others).
However, in some situations, software-based load balancing is appropriate. For example, IBM's WebSphere Edge Components includes a Load Balancer module. In some environments, reverse proxy servers are useful.
These Pega Developer Network articles map be helpful:
To support reverse proxy serving, add the following
prconfig.xml
settings:
<env
name="Initialization/ContextRewriteEnabled"
value="true" />
<env name="Initialization/SetBaseHTMLContext"
value="http://revproxy/AcmeCorp/setup"
/>
You can verify operation of a load-balancing scheme using open source toolsets such as OpenSTA (the Open System Testing Architecture, at www.opensta.org) and with commercial software products.
router task, skills, urgency | |
Clusters — Concepts and terms |