public interface ServiceLoadBalancer<S extends Service,T extends ServiceLoad> extends Comparator<T>
Modifier and Type | Method and Description |
---|---|
default int |
compare(T load1, T load2)
Compare to ServerLoad objects.
|
List<Member> |
getMemberList(Member client)
Called by the Service when a new client connects to obtain an ordered list of Members to which the new client should be redirected.
|
void |
init(S service)
Called by the Service exactly once on this object as part of its initialization.
|
void |
update(Member member, T load)
Update the load balancing strategy in response to a change in a Service utilization.
|
comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
void init(S service)
service
- the containing Servicevoid update(Member member, T load)
member
- the Member for which the utilization changedload
- the updated ServiceLoad; if null, the utilization for the specified Member is unknown (e.g. when the Service on the specified Member leaves the cluster)List<Member> getMemberList(Member client)
client
- the Member object that represents the remote clientdefault int compare(T load1, T load2)
compare
in interface Comparator<T extends ServiceLoad>
load1
- the first ServiceLoadload2
- the second ServiceLoad