Weighted
Weighted mode for Load Balancer EIP. With this policy in case of failures the exchange will be tried on the next endpoint.
Options
The Weighted eip supports 3 options, which are listed below.
Name | Description | Default | Type |
---|---|---|---|
distributionRatio | Required The distribution ratio is a delimited String consisting on integer weights separated by delimiters for example 2,3,5. The distributionRatio must match the number of endpoints and/or processors specified in the load balancer list. | String | |
distributionRatioDelimiter | Delimiter used to specify the distribution ratio. The default value is , (comma). | , | String |
roundRobin | To enable round robin mode. By default the weighted distribution mode is used. The default value is false. | false | Boolean |
Examples
In this example we want to send the most message to the first endpoint, then the second, and only a few to the last.
The distribution ratio is 7 = 4 + 2 + 1. This means that for every 7 message then 4 goes to the 1st, 2 for the 2nd, and 1 for the last.
from("direct:start")
.loadBalance().weighted(false, "4,2,1")
.to("seda:x")
.to("seda:y")
.to("seda:z")
.end();
In XML you’ll have a route like this:
<route>
<from uri="direct:start"/>
<loadBalance>
<weighted distributionRatio="4 2 1"/>
<to uri="seda:x"/>
<to uri="seda:y"/>
<to uri="seda:z"/>
</loadBalance>
</route>