2、微服务框架Dubbo安装与Dubbo管理工具:Dubbo Admin(图形化的web界面)

阅读 104

2023-06-09

Dubbo

Apache Dubbo 是一款高性能,轻量级的开源RPC服务框架 

Apache Dubbo 提供了六大核心能力:
1、面向接口代理的高性能RPC调用
2、智能容错和负载均衡
3、服务自动注册和发现
4、高度可扩展能力
5、运行期流量调度
6、可视化的服务治理与运维.

SpringCloud 提供了微服务的全家桶的整套解决方案,Dubbo只是实现了微服务中RPC部分的功能,基本相当于SpringCloud中的Feign,还需要组合其它服务才能实现全部功能

阿里云微服务

https://promotion.aliyun.com/ntms/act/edasdubbo.html

Dubbo官网

https://dubbo.apache.org/zh/

实现Dubbo架构

2、微服务框架Dubbo安装与Dubbo管理工具:Dubbo Admin(图形化的web界面)_微服务框架Dubbo安装


zookeeper做注册中心、服务发现
通过Dubbo来实现服务的provider(生产者)和consumer(消费者)

环境说明

#准备三台zookeeper集群 #可用之前安装脚本一键安装
#10.0.0.101 node1 
#10.0.0.102 node2 
#10.0.0.103 node3 

#准备两台主机充当provider(生产者)
#10.0.0.104 provider1 
#10.0.0.105 provider2 

#准备两台主机充当consumer(消费者) 
#10.0.0.106 consumer1 
#10.0.0.107 consumer2

生产者安装示例(注意:此案例只支持Ubuntu18.04和Jdk8或11,但不支持Ubuntu20.04)

安装文档
https://github.com/apache/dubbo/tree/dubbo-2.1.5 https://github.com/apache/dubbo/tree/dubbo-2.1.5/dubbo-demo-provider

在10.0.0.104和10.0.0.105主机在启动provider

#Ubuntu系统
[root@ubuntu1804 ~]#apt -y install openjdk-8-jdk net-tools

#红帽系统 
[root@centos8 ~]#yum -y install java-1.8.0-openjdk-devel nc

[root@ubuntu1804 ~]#tar xf dubbo-demo-provider-2.1.5-assembly.tar.gz -C /usr/local/
[root@ubuntu1804 ~]#ln -s /usr/local/dubbo-demo-provider-2.1.5/ /usr/local/dubbo-demo-provider

[root@ubuntu1804 ~]#vim /usr/local/dubbo-demo-provider/conf/dubbo.properties #dubbo.registry.address=multicast://224.5.6.7:1234 #注释此行,不使用默认的组播注册中心,添加下面行使用zookeeper做为注册中心

dubbo.registry.address=zookeeper://10.0.0.101:2181 | zookeeper://10.0.0.102:2181 | zookeeper://10.0.0.103:2181 #修改此行, zookeeper集群配置
#dubbo.registry.address=zookeeper://10.0.0.101:2181   #单zookeeper节点使用此配置

#启动provider
[root@ubuntu1804 ~]#/usr/local/dubbo-demo-provider/bin/start.sh 
Starting the demo-provider .... 
OK! 
PID: 20846
STDOUT: logs/stdout.log

消费者安装示例

安装文档	
https://github.com/apache/dubbo/tree/dubbo-2.1.5 https://github.com/apache/dubbo/tree/dubbo-2.1.5/dubbo-demo-consumer

在10.0.0.106和10.0.0.107主机在启动consumer

[root@ubuntu1804 ~]#apt -y install openjdk-8-jdk 
[root@centos8 ~]#yum -y install java-1.8.0-openjdk nc 

[root@ubuntu1804 ~]#tar xf dubbo-demo-consumer-2.1.5-assembly.tar.gz -C /usr/local/ [root@ubuntu1804 ~]#ln -s /usr/local/dubbo-demo-consumer-2.1.5/ /usr/local/dubbo-demo-consume

#和provider一样的zookeeper配置信息
[root@ubuntu1804 ~]#vim /usr/local/dubbo-demo-provider/conf/dubbo.properties #dubbo.registry.address=multicast://224.5.6.7:1234 #注释此行,不使用默认的组播注册中心,添加下面行使用zookeeper做为注册中心

dubbo.registry.address=zookeeper://10.0.0.101:2181 | zookeeper://10.0.0.102:2181 | zookeeper://10.0.0.103:2181 #修改此行, zookeeper集群配置
#dubbo.registry.address=zookeeper://10.0.0.101:2181   #单zookeeper节点使用此配置

#启动consumer
[root@ubuntu1804 ~]#/usr/local/dubbo-demo-consumer/bin/start.sh 
Starting the demo-consumer ....
OK! 
PID: 20804 
STDOUT: logs/stdout.log
#注意: 如果有多个生产者.则消费会轮询多个消费都进行服务

Dubbo管理工具:图形化的web界面--Dubbo Admin

官方说明

https://github.com/apache/dubbo-admin	
内存建议4G以上

安装示例

[root@ubuntu1804 ~]#cd /usr/local/src/

#git方式下载,此方法很慢
[root@ubuntu1804 src]#git clone https://github.com/apache/dubbo-admin.git
#直接下载zip文件,再解压缩
[root@ubuntu1804 src]#ll dubbo-admin-develop.zip -h 
-rw-r--r-- 1 root root 1.2M Feb 18 16:08 dubbo-admin-develop.zip 
[root@ubuntu1804 src]#unzip dubbo-admin-develop.zip

#进入到源码目录
[root@ubuntu1804 src]#cd dubbo-admin-develop/ 
[root@ubuntu1804 dubbo-admin-develop]#pwd /usr/local/src/dubbo-admin-develop [root@ubuntu1804 dubbo-admin-develop]#ls 
codestyle   doc     dubbo-admin-distribution dubbo-admin-test LICENSE mvnw.cmd pom.xml   README_ZH.md DISCLAIMER docker dubbo-admin-server       dubbo-admin-ui   mvnw     NOTICE   README.md

#修改zookeeper 地址为实际IP
[root@ubuntu1804 dubbo-admin-develop]#vim dubbo-adminserver/src/main/resources/application.properties 

admin.registry.address=zookeeper://10.0.0.101:2181,10.0.0.102:2181,10.0.0.103:2181 admin.config-center=zookeeper://10.0.0.101:2181,10.0.0.102:2181,10.0.0.103:2181 admin.metadatareport.address=zookeeper://10.0.0.101:2181,10.0.0.102:2181,10.0.0.103:2181

#优化maven配置
[root@ubuntu1804 dubbo-admin-develop]#echo 'export MAVEN_OPTS="-Xmx2g -Xms2g"' >> /etc/profile.d/maven.sh 
[root@ubuntu1804 dubbo-admin-develop]#source /etc/profile.d/maven.sh

#因为此项目中使用了nodejs,建议用下面方式加速
[root@ubuntu1804 dubbo-admin-develop]#apt -y install npm
[root@ubuntu1804 dubbo-admin-develop]#npm config get registry   https://registry.npmjs.org/ 
[root@ubuntu1804 dubbo-admin-develop]#npm config set registry https://registry.npm.taobao.org 
[root@ubuntu1804 dubbo-admin-develop]#npm config get registry https://registry.npm.taobao.org/

#执行java源码编译并跳过测试单元,推荐此方式
[root@ubuntu1804 dubbo-admin-develop]#mvn clean install package - Dmaven.test.skip=true

启动服务

#确保zookeeper已启动
[root@node1 ~]#zkServer.sh status 
/usr/bin/java
ZooKeeper JMX enabled by default 
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg 
Client port found: 2181. Client address: localhost. Client SSL: false. 
Mode: follower

[root@ubuntu1804 ~]#java -jar /usr/local/src/dubbo-admin-develop/dubbo-admindistribution/target/dubbo-admin-0.3.0-SNAPSHOT.jar --server.port=8888

登录 Web 界面验证

浏览器访问下面地址,用登录名和密码为root登录

2、微服务框架Dubbo安装与Dubbo管理工具:Dubbo Admin(图形化的web界面)_Dubbo管理工具Dubbo Admin_02

精彩评论(0)

0 0 举报