返回介绍

负载均衡

发布于 2021-04-06 08:50:08 字数 1941 浏览 1272 评论 0 收藏 0

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

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

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

XML 方式

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

<sofa:reference interface="com.example.demo.SampleService" id="sampleService">
    <sofa:binding.bolt>
        <sofa:global-attrs loadBalancer="roundRobin"/>
    </sofa:binding.bolt>
</sofa:reference>

Annotation 方式

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

在 Spring 环境下 API 方式

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

BoltBindingParam boltBindingParam = new BoltBindingParam();
boltBindingParam.setLoadBalancer("roundRobin");

非 Spring 环境下 API 方式

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文