Package io.github.lunasaw.zlm.node.impl
Class WeightRandomLoadBalancer
java.lang.Object
io.github.lunasaw.zlm.node.impl.WeightRandomLoadBalancer
- All Implemented Interfaces:
LoadBalancer
加权随机负载均衡器
每次选择节点时基于权重进行随机选择,不维护本地状态
- Author:
- luna
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetType()
获取负载均衡器类型selectNode
(String key) 根据key选择节点 每次选择时直接从NodeSupplier获取最新节点列表void
setNodeSupplier
(NodeSupplier nodeSupplier) 设置节点提供器
-
Constructor Details
-
WeightRandomLoadBalancer
public WeightRandomLoadBalancer()
-
-
Method Details
-
setNodeSupplier
Description copied from interface:LoadBalancer
设置节点提供器- Specified by:
setNodeSupplier
in interfaceLoadBalancer
- Parameters:
nodeSupplier
- 节点提供器
-
selectNode
Description copied from interface:LoadBalancer
根据key选择节点 每次选择时直接从NodeSupplier获取最新节点列表- Specified by:
selectNode
in interfaceLoadBalancer
- Parameters:
key
- 选择key- Returns:
- 选中的节点
-
getType
Description copied from interface:LoadBalancer
获取负载均衡器类型- Specified by:
getType
in interfaceLoadBalancer
- Returns:
- 类型标识
-