Dubbo 负载均衡配置
Dubbo 提供了4种负载均衡实现,分别是基于权重随机算法的 RandomLoadBalance、基于最少活跃调用数算法的 LeastActiveLoadBalance、基于 hash 一致性的 ConsistentHashLoadBalance,以及基于加权轮询算法的 RoundRobinLoadBalance。
dubbo默认使用的是RandomLoadBalance算法
配置
服务端服务级别
可用参数
random
roundrobin
leastactive
consistenthash
XML配置方式
<dubbo:service interface="..." loadbalance="roundrobin" />yml配置(SpringBoot)
dubbo: provider: loadbalance: roundrobin # weight: 10 # 配置权重基于注解的配置(SpringBoot)
@DubboService(protocol = "dubbo", loadbalance = "random") public class TestDubboServiceImpl implements TestDubboService { @Override public String getString() { return "这是Service-Provider-A, 通过Dubbo返回的字符串"; } }
客户端服务级别
XML配置方式
<dubbo:reference interface="..." loadbalance="roundrobin" />
yml配置(SpringBoot)
dubbo:
provider:
loadbalance: roundrobin
# weight: 10 # 配置权重
基于注解的配置(SpringBoot)
具体可以查看注解:@DubboReference
@RestController
public class TestController {
@DubboReference(loadbalance = "roundrobin")
TestDubboService testDubboService;
@GetMapping("/str")
public String setting() {
log.info("消费者, str 接口");
String res = testDubboService.getString();
log.info("消费者, str 接口, 返回结果:{}", res);
return res;
}
}
版权声明:本文为xiupengfei111原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。