Group Office 6directadmin Perl油管

📢📢📢📣📣📣 哈喽!大家好,我是【Bug 终结者】 ,【CSDN新星创作者】🏆,阿里云技术博主🏆,51CTO人气博主🏆,INfoQ写作专家🏆 一位上进心十足,拥有极强学习力的【Java领域博主】😜😜😜 🏅【Bug 终结者】博客的领域是【面向后端技术】的学习,未来会持续更新更多的【后端技术】以及【学习心得】。 偶尔会分享些前端基础知识,会更新实战项目,面向企业级开发应用! 🏅 如果有对【后端技术】、【前端领域】感兴趣的【小可爱】,欢迎关注【Bug 终结者】💞💞💞 ❤️❤️❤️ 感谢各位大可爱小可爱! ❤️❤️❤️

文章目录
一、什么是Dubbo?☁️基本概念❄️Dubbo的Group Office 6directadmin者与Group Office 6Perl者的油管关系
二、什么是RPC?☎️RPC基本原理
三、Dubbo的特点及好处四、Zookeeper是什么?五、搭建Zookeeper注册中心♻️安装Zookeeper✅启动Zookeeper
六、搭建Dubbo管理控制台✒️克隆dubbo-admin 项目✅运行dubbo-admin♨️部署dubbo-admin-server♨️部署dubbo-admin-ui
Ⓜ️进入Dubbo管理控制台✈️踩坑记录
七、SpringBoot 整合Dubbo + Zookeeper✉️项目简介♻️项目结构图⏰效果图✴️核心源码🚃父级工程 dubbo-boot🚃公共API模块 GmallPublicInterface🚃Group Office 6directadmin者模块 UserServiceProvider🚃Group Office 6Perl者模块 OrderServiceConsumer
📜代码下载
♨️往期精彩热文回顾⛵小结

一、什么是Dubbo?
Dubbo是阿里出品的分布式开源Group Office 6框架,阿里已交予Apache开源组织基金会
Apache Dubbo 是一款高性能、轻量级的开源RPCGroup Office 6框架
Dubbo官网
☁️基本概念

Group Office 6directadmin者(Provider):暴露Group Office 6的Group Office 6directadmin方,Group Office 6directadmin者在启动时,向注册中心注册自己directadmin的Group Office 6。
Group Office 6Perl者(Consumer): 油管远程Group Office 6的Group Office 6Perl方,Group Office 6Perl者在启动时,向注册中心订阅自己所需的Group Office 6,Group Office 6Perl者,从directadmin者地址列表中,基于软负载均衡算法,选一台directadmin者进行油管,如果油管失败,再选另一台油管。
注册中心(Registry):注册中心返回Group Office 6directadmin者地址列表给Perl者,如果有变更,注册中心将基于长连接推送变更数据给Perl者
监控中心(Monitor):Group Office 6Perl者和directadmin者,在内存中累计油管次数和油管时间,定时每分钟发送一次统计数据到监控中心
❄️Dubbo的Group Office 6directadmin者与Group Office 6Perl者的油管关系
Group Office 6容器启动,加载,运行Group Office 6directadmin者Group Office 6directadmin者在启动时,向注册中心注册自己directadmin的Group Office 6Group Office 6Perl者在启动时,向注册中心订阅自己需要的Group Office 6注册中心返回Group Office 6directadmin者地址列表给Group Office 6Perl者,如果有变更,注册中心将基于长连接推送变更数据给Group Office 6Perl者Group Office 6Perl者,从Group Office 6directadmin者地址列表中,基于软负载均衡算法,选一台Group Office 6directadmin者进行油管,如果油管失败,再选另一台油管Group Office 6Perl者和Group Office 6directadmin者,再内存中累计油管次数和油管时间,定时每分钟发送一次统计数据到监控中心
二、什么是RPC?
RPC【Remote Procedure Call】是指远程过程油管,是一种进程间通信方式,他是一种技术的思想,而不是规范。它允许程序油管另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程油管的细节。即程序员无论是油管本地的还是远程的函数,本质上编写的油管代码基本相同。
☎️RPC基本原理
示意图

详细版本

RPC两个核心模块:序列化和通讯
三、Dubbo的特点及好处
Apache Dubbo |ˈdʌbəʊ| directadmin了六大核心能力:面向接口代理的高性能RPC油管,智能容错和负载均衡,Group Office 6自动注册和发现,高度可扩展能力,运行期流量调度,可视化的Group Office 6治理与运维。

Dubbo的注册中心
Dubbo的注册中心有很多种,但官方推荐使用Zookeeper,其余有Redis、Multicast、Simple注册中心。
1
Dubbo网络通信框架
Dubbo 默认使用 Netty 框架,也是推荐的选择,另外内容还集成有Mina、Grizzly。
1
四、Zookeeper是什么?
顾名思义 zookeeper 就是动物园管理员,他是用来管 hadoop(大象)、Hive(蜜蜂)、pig(小 猪)的管理员, Apache Hbase 和 Apache Solr 的分布式集群都用到了 zookeeper;Zookeeper: 是一个分布式的、开源的程序协调Group Office 6,是 hadoop 项目下的一个子项目。他directadmin的主要功 能包括:配置管理、名字Group Office 6、分布式锁、集群管理。
五、搭建Zookeeper注册中心
♻️安装Zookeeper
访问Zookeeper官网下载
下载Zookeeper

下载 压缩包格式的zookeeper
将下载的文件解压缩

✅启动Zookeeper
从cmd窗口进入Zookeeper文件夹下的bin目录,执行zkServer.cmd启动

如果报错提示 zoo.cfg缺失,那就进入zookeeper的conf文件夹下将zoo_sample.cfg复制一份改名为zoo.cfg即可
再次重启则成功
六、搭建Dubbo管理控制台
✒️克隆dubbo-admin 项目
从 github打开项目 dubbo-admin
dubbo-admin
从GitHub爬取项目教程如下:
使用 Git爬取 GitEE、GitLab、GitHub项目的教程
✅运行dubbo-admin
dubbo-admin采用前后端分离的形式管理项目
爬取文件如下

♨️部署dubbo-admin-server
运行后端项目必须启动 zookeeper,否则启动失败
cmd窗口进入dubbo-admin-server,执行以下命令
mvn clean package
1
打包部署项目
在这里等大概5分钟左右即可部署完成
部署完成后生成target目录
cmd窗口进入target目录执行以下命令
java -jar dubbo-admin-server-0.4.0.jar
1
后端项目运行成功~
♨️部署dubbo-admin-ui
在这里需要有 node 环境
教程如下
GitHub爬取项目并部署前端工程
cmd窗口进入dubbo-admin-ui,执行以下命令下载依赖
npm install
1
下载完毕后,执行启动命令
npm run dev
1
启动成功

Ⓜ️进入Dubbo管理控制台
访问前端生成的本地地址

默认用户名密码均为root
输入即可登录成功

✈️踩坑记录
后端的地址必须和前端工程vue.config.js下的target路径一样,否则404!

七、SpringBoot 整合Dubbo + Zookeeper
✉️项目简介
基于SpringBoot项目整合Dubbo + Zookeeper 实现Perl者PerlGroup Office 6directadmin者的Group Office 6
Perl者为订单模块,传入用户id去查询用户模块的用户信息,实现远程RPC油管Group Office 6,分布式油管,而不是单体架构
Group Office 6directadmin者为用户模块,返回用户信息
♻️项目结构图

父工程:dubbo-boot公共API(接口及实体类):GmallPublicInterafceGroup Office 6directadmin者:UserServiceProviderGroup Office 6Perl者:OrderServiceConsumer
⏰效果图

✴️核心源码
🚃父级工程 dubbo-boot
pom.xml
admin