我是靠谱客的博主 坚定斑马,这篇文章主要介绍Dubbo中负载均衡实现高并发,现在分享给大家,希望可以做个参考。

要实现高并发,就要实现服务器的负载均衡,即让服务消费者能够通过轮询或其他策略调用服务提供者上实现的服务。

Dubbo实现了四种负载均衡策略:

  1. 随机(默认,权重)
  2. 轮询
  3. 最少活跃调用数
  4. 一致性

在之前的服务提供者项目的yml配置文件中加入:

复制代码
1
2
3
4
dubbo: provider: loadbalance: roundrobin # 轮询方式

因为这里在实验时需要运行多个服务提供者实例,所以需要做以下设置:
在这里插入图片描述
不断地更改dubbo的protocol的端口,运行多个实例,这里,我开放三个服务提供者,端口号分别为12345、12346和12347。
在这里插入图片描述
在管理后台可以看到多个服务提供者都已经注册到zookeeper中。
在这里插入图片描述
为了区分调用的服务,这里我们让服务提供者输出一下自己开启服务的端口,因为我们是部署到一台计算机的不同端口上了。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.funt.hello.dubbo.service.user.provider.api.impl; import com.funt.hello.dubbo.service.user.api.UserService; import org.apache.dubbo.config.annotation.Service; import org.springframework.beans.factory.annotation.Value; @Service(version = "1.0.0") public class UserServiceImpl implements UserService { @Value("${dubbo.protocol.port}") private String port; @Override public String sayHi() { return "hello dubbo " + port; } }

然后重新启动项目,可以看到输出的端口信息,可以看到 ,轮询策略下,端口每次都不同,服务是轮询调用的。
在这里插入图片描述

最后

以上就是坚定斑马最近收集整理的关于Dubbo中负载均衡实现高并发的全部内容,更多相关Dubbo中负载均衡实现高并发内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部