知方号

知方号

负载均衡 · SOFAStack

SOFARPC 提供多种负载均衡算法,目前支持以下五种:

类型名称描述random随机算法默认负载均衡算法。localPref本地优先算法优先发现是否本机发布了该服务,如果没有再采用随机算法。roundRobin轮询算法方法级别的轮询,各个方法间各自轮询,互不影响。consistentHash一致性hash算法同样的方法级别的请求会路由到同样的节点。weightRoundRobin按权重负载均衡轮询算法按照权重对节点进行轮询。性能较差,不推荐使用。

要使用某种特定的负载均衡算法,可以按照以下的方式进行设置:

XML 方式

如果使用 XML 的方式引用服务,可以通过设置 sofa:global-attrs 标签的 loadBalancer 属性来设置:

Annotation 方式

Annotation 方式目前暂未提供设置某一个 Reference 的负载均衡算法的方式。将在后续的版本中提供。

在 Spring 环境下 API 方式

如果在 Spring 或者 Spring Boot 的环境下使用 API,可以通过调用 BoltBindingParam 的 setLoadBalancer 方法来设置:

BoltBindingParam boltBindingParam = new BoltBindingParam();boltBindingParam.setLoadBalancer("roundRobin");非 Spring 环境下 API 方式

如果在非 Spring 环境下直接使用 SOFARPC 提供的裸 API,可以通过调用 ConsumerConfig 的 setLoadBalancer 方法来设置:

ConsumerConfig consumerConfig = new ConsumerConfig();consumerConfig.setLoadbalancer("random");

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。