CenOS7搭建dubbo、docker、zookeeper环境、maven启动dubbo及dubbo的负载均衡实现

官网: http://dubbo.apache.org/zh-cn/index.html
 
dubbo架构
 
调用关系
0. 服务容器负责启动,加载,运行服务提供者。
1. 服务提供者在启动时,向注册中心注册自己提供的服务。
2. 服务消费者在启动时,向注册中心订阅自己所需的服务。
3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
Dubbo 架构具有以下几个特点,分别是连通性、健壮性、伸缩性、以及向未来架构的升级性。
 
注册中心
dubbo 支持多种注册中心,推荐使用 ZooKeeper。、
Zookeeper Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注
册中心,工业强度较高,可用于生产环境,并推荐使用。
 
1、安装docker
查内核的版本信息,需要大于3.0
uname -r

确保yum是最新的,(有人说这里不需要更新,可能我有版本比较旧,不更新没有试成功,建议还是更新一下,这里时间比较长)
yum update

安装docker

yum install -y docker

启动docker

systemctl start docker.service

验证安装是否成功

docker version

出现下图说明安装成功

一些docker相关的其它命令
启动        
systemctl start docker
守护进程重启   
sudo systemctl daemon-reload
重启docker服务   
systemctl restart  docker
重启docker服务  
sudo service docker restart
关闭docker   
service docker stop   
关闭docker  
systemctl stop docker

通过name或id删除docker中的容器
docker container rm Id/Name

 

 
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
2、安装zookeeper
使用docker拉取zookeeper镜像
docker pull zookeeper:3.5

查看刚刚拉取的镜像

docker images

创建zookeeper容器

docker create --name zk -p 2181:2181 zookeeper:3.5

启动刚刚创建的容器
docker start zk

查看docker中的容器

docker ps -a

使用可视化工具测试是否已经启动
 
----------------------------------------------------------------------------------------------------------------------------------------------------
 
dubbo admin安装
 
下载并且解压(如果比较慢,可以先在windows上下载好压缩包,上传到服务器上面后进行解压)
git clone https://github.com/apache/incubator-dubbo-ops.git

这里我是放在 /usr/local目录下面

修改配置文件(注册中心与dubbo admin在同一台机器 上面不用修改)
vim /usr/local/incubator-dubbo-ops/dubbo-admin-backend/src/main/resources/application.properties

如需要修改如下,将ip修改为对应注册中心的ip

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
maven安装
上传maven的压缩包
这里我解压到/usr/local目录下
tar zxvf apache-maven-3.6.0-bin.tar.gz -C /usr/local/

修改配置
vim /etc/profile

加入配置信息

export MVN_HOME=/usr/local/apache-maven-3.6.0
export PATH=${MVN_HOME}/bin:$PATH

重新加载刚才修改的配置文件
source /etc/profile

修改setting文件(使用阿里的私服)

vim /usr/local/apache-maven-3.6.0/conf/settings.xml

修改内容

        <mirror>
                <id>nexus-aliyun</id>
                <mirrorOf>*</mirrorOf>
                <name>Nexus aliyun</name>
                <url>http://maven.aliyun.com/nexus/content/groups/public/ </url>
        </mirror>

 

查看maven的信息

mvn -v

下图说明已经配置成功

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
使用maven构建dubbo admin项目
进入到dubbo目录下面(必须要进入到这个目录下面)
 
cd /usr/local/incubator-dubbo-ops/

构建命令(这里需要等待比较长的时间)

mvn clean package
构建成功截图
通过 mavn 插件启动程序 (dubbo目录下面)
mvn --projects dubbo-admin-backend spring-boot:run

浏览器访问是否成功

成功截图如下

查看服务( 需要你的项目启动, 并且服务已经注册到注册中心
点击对应的服务中的DETAIL,可以查看服务的详细信息。
 
 
 
 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

dubbo的负载均衡实现(需要有项目

官方文档:http://dubbo.apache.org/zh-cn/docs/user/demos/loadbalance.html

默认采用的是随机,按权重设置随机概率。

这里的策略在对应胡consumer代码访问请求中添加对应的属性即可。

项目测试

IDEA启动多个服务,注意修改服务的输出信息,及配置的端口信息(一台机器上面的启动多个服务必须修改端口,多台机器上面启动不用修改)

这里我启动4个服务(采用轮循的方式,端口为20880~20883),consumer请求100次

在dubbo admin中查看注册信息(这里是刚刚启动的四个服务)

启动consumer,进行请求操作,for循环请求100次

。。。。。。

查看各个服务被请求的次数,这里每个服务被请求25次(这里只能说明每个服务都调用了相同的次数,则可以在consumer请求的时候查看服务是否是依次被请求进行验证)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值