dcm:loadbalancergroup element - ibm-datapower/datapower-configuration-manager GitHub Wiki
The <dcm:loadbalancergroup>
element defines a single Load Balancer Group object:
<dcm:loadbalancergroup name="..."
[ alg='...' ]
[ enabled="true|false" ]
[ retrieve-info="true|false" ]
[ damp="n" ]
[ never-return-sick-member="true|false" ]
[ try-every-server-before-failing="true|false" ]
[ masquerade-member="true|false" ]
[ application-routing="true|false" ]
[ transport="..." ]
[ websphere-cell-config="..." ]
[ wlm-group="..." ] >
<dcm:member server="..." [ weight="n" ] [ enabled="true|false ] [ port="n" ] [ health-port="n" ] "/>
...
[
<dcm:health-checks [ enabled="true|false" ]
[ uri="..." ]
[ port="n" ]
[ ssl="Standard, LDAP, IMSConnect, on, off" ]
[ post="true|false" ]
[ input="..." ]
[ timeout="n" ]
[ frequency="n" ]
[ xpath = "..." ]
[ filter = "..." ]
[ ssl-proxy-profile = "..." ]
[ enforce-timeout = "true|false" ]
[ independent-checks = "true|false" ] />
]
[
<dcm:affinity [ enabled="true|false" ]
[ cookie-name="..." ]
[ path="..." ]
[ domain="..." ]
[ wlm-override="true|false" ]
[ mode="active|activeConditional" ]>
<dcm:monitored cookie-name="..."/>
</dcm:affinity>
]
</dcm:loadbalancergroup>
The number of optional elements and attributes exposes the underlying power and flexibility of load balancer groups, which you may not need very often. The simplest (and most common) load balancer group definition looks something like this:
<dcm:loadbalancergroup name="bob">
<dcm:member server="10.11.12.13" port="8129"/>
<dcm:member server="10.11.12.13" port="8130"/>
</dcm:loadbalancergroup>
Given this definition, https://bob will load balance across services on 10.11.12.13 listening on ports 8129 and 8130. The load balancer group and its members are enabled by default, and round robin by default.
The DP browser interface is the authoritative reference on the meanings of these various elements and attributes and is a good place to find explanations of their semantics.
Remember to reference the load balancer group object from the XML Manager object.
<dcm:loadbalancergroup name="..."
[ alg='...' ]
[ enabled="true|false" ]
[ retrieve-info="true|false" ]
[ damp="n" ]
[ never-return-sick-member="true|false" ]
[ try-every-server-before-failing="true|false" ]
[ masquerade-member="true|false" ]
[ application-routing="true|false" ]
[ transport="..." ]
[ websphere-cell-config="..." ]
[ wlm-group="..." ] >
<dcm:member .../> (0-N occurrences)
...
[<dcm:health-checks .../>]
[<dcm:affinity .../>]
</dcm:loadbalancergroup>
Child elements:
<dcm:member> - 0-N - servers to load balance across
<dcm:health-checks> - 0 or 1 - how to perform (optional) health checks
<dcm:affinity> - 0 or 1 - affinity of requests to particular backend servers
Required Attributes:
name - name of the load balancer group object
Optional Attributes:
alg - algorithm to follow for choosing backend servers:
first-alive
hash
least-connections
round-robin
weighted-least-connections
weighted-round-robin
enabled - true/false - default true
retrieve-info - true/false - default false
damp - number of seconds - default 120
never-return-sick-member - true/false - default false
try-every-server-before-failing - true/false - default false
masquerade-member - true/false - default false
application-routing - true/false - false
transport - protocol name - default http
websphere-cell-config - name of cell or something
wlm-group - name of work load manager group
A <dc:member>
element may occur 0-N times as immediate children of a
<dcm:loadbalancergroup>
element.
<dcm:member server="..." [ weight="n" ] [ enabled="true|false ] [ port="n" ] [ health-port="n" ] "/>
Required Attributes:
service - hostname or IP address of backend server to load balance
Optional Attributes:
weight - weight of this server
enabled - true/false - default true
port - 0-65535 - default 0
health-port - 0-65535 - default 0
A <dcm:health-checks>
element may optionally occur once within a <dcm:loadbalancergroup>
element.
<dcm:health-checks [ enabled="true|false" ]
[ uri="..." ]
[ port="n" ]
[ ssl="Standard, LDAP, IMSConnect, on, off" ]
[ post="true|false" ]
[ input="..." ]
[ timeout="n" ]
[ frequency="n" ]
[ xpath = "..." ]
[ filter = "..." ]
[ ssl-proxy-profile = "..." ]
[ enforce-timeout = "true|false" ]
[ independent-checks = "true|false" ] />
Optional Attributes:
enabled - true/false - default true
uri - string (e.g. '/healthcheck') default '/'
port - 0-65535 - default 80
ssl - Standard, LDAP, IMSConnect, on, off - default Standard
post - true/false - default true
input - default store:///healthcheck.xml
timeout - seconds to wait for response - default 10
frequency - seconds between attempts - default 180
xpath - XPath for checking response - default '/'
filter - default store:///healthcheck.xml
ssl-proxy-profile - name of SSLProxyProfile object - no default
enforce-timeout - true/false - default false
independent-checks - true/false - default false
A <dcm:affinity>
element may optionally occur once within a <dcm:loadbalancergroup>
element.
<dcm:affinity [ enabled="true|false" ]
[ cookie-name="..." ]
[ path="..." ]
[ domain="..." ]
[ wlm-override="true|false" ]
[ mode="active|activeConditional" ]>
<dcm:monitored cookie-name="..."/>
</dcm:affinity>
Child Elements:
<dcm:monitored cookie-name="..."> - 1-N
Optional Attributes:
enabled - true/false - default true
cookie-name - name of cookie carrying affinity information - default DPJSESSIONID
path - XPath - default '/'
domain - default '.datapower.com'
wlm-override - true/false - default false
mode - active/activeConditional - default activeConditional