Weighted RoundRobin

For the Weighted RoundRobin routing algorithm, a weight value is assigned to each target operation. The weight value for a target operation specifies a priority for each target operation in a target operation group. You can assign a weight value to each target operation in a target operation group using the Config UI.

When you assign the weight to a target operation, the weight value indicates the capacity of that target operation in comparison to other target operations within the target operation group.

Note: You can assign same weight values to multiple target operations. When the target operations in a target operation group have the same weight values, a target operation is selected in a RoundRobin way to process the facade request.

When a client request is forwarded to a target operation group type as Weighted RoundRobin, the Core Engine selects the target operation within the target operations group based on the weight values.

Figure Weighted RoundRobin shows the SG1 target operation group containing three target operations (target operation A, target operation B, and target operation C) with Weighted RoundRobin type. Target operation A is assigned weight value as 5, Target operation B is assigned weight value as 2, and Target operation C is assigned weight value as 3.

When the Core Engine routes any facade request to the SG1 target operation group, the Core Engine processes the request in the following way:

  • The first facade request Request 1 is forwarded to target operation A as that has the maximum weight 5.
  • The second facade request Request 2 is forwarded to target operation A.
  • The third facade request Request 3 is forwarded to target operation A.
  • The fourth facade request Request 4 is forwarded to target operation C.
  • The fifth facade request Request 5 is forwarded to target operation A.
  • The sixth facade request Request 6 is forwarded to target operation B.

Scheduling Pattern

The Core Engine uses the scheduling pattern as follows for the Weighted RoundRobin algorithm type:

(Target Operation A, Target Operation A, Target Operation A, Target Operation C, Target Operation A, Target Operation B, Target Operation C, and so on.)

If the selected target operation is not running or times out to process the facade request, the Core Engine processes the request as follows:

  • Retries to forward the request to the same target operation as per the retry mechanism.
  • The Core Engine does not route the facade request to an alternate target operation in the target operations group.
  • Returns the fault message to the client for the facade request.
Note: When the target operations in a target operation group have the same weight values, the Core Engine selects the target operations in a RoundRobin fashion.
Weighted RoundRobin