Dubbo-学习笔记1

视频地址:https://www.bilibili.com/video/BV1VE411q7dX?vd_source=f8edb730040256369513da6f2506c493&p=2&spm_id_from=333.788.videopod.episodes

01-互联网项目相关概念

06-dubbo概述

  • Dubbo是阿里巴巴公司开源的一个高性能、轻量级的 Java RPC框架(Java RPC(Remote Procedure Call,远程过程调用)框架是一种用于实现分布式系统中跨进程、跨网络调用的技术框架,它允许一个 Java 进程(客户端)像调用本地方法一样调用另一个 Java 进程(服务端)中的方法,屏蔽了网络通信的复杂性(如 Socket 连接、数据序列化、协议解析等),简化了分布式应用的开发)。
  • 致力于提高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案

(1)Dubbo架构

async 异步、sync 同步

07-Dubbo快速入门-zookeeper安装

1.下载安装

1.1 环境准备

ZooKeeper服务器是用Java创建的,它运行在JVM之上。需要安装JKD7 或更高版本。

1.2 上传

将下载的ZooKeeper放到/opt/ZooKeeper目录下

复制代码
#上传zookeeper alt+p
put f:/setup/apache-zookeeper-3.5.6-bin.tar.gz
#打开 opt目录
cd /opt
#创建zooKeeper目录
mkdir  zooKeeper
#将zookeeper安装包移动到 /opt/zooKeeper
mv apache-zookeeper-3.5.6-bin.tar.gz /opt/zookeeper/

1.3、解压

将tar包解压到/opt/zookeeper目录下

复制代码
tar -zxvf apache-ZooKeeper-3.5.6-bin.tar.gz 

2.配置启动

1、配置zoo.cfg

进入到conf目录拷贝一个zoo_sample.cfg并完成配置

复制代码
#进入到conf目录
cd /opt/zooKeeper/apache-zooKeeper-3.5.6-bin/conf/
#拷贝
cp  zoo_sample.cfg  zoo.cfg

修改zoo.cfg

复制代码
#打开目录
cd /opt/zooKeeper/
#创建zooKeeper存储目录
mkdir  zkdata
#修改zoo.cfg
vim /opt/zooKeeper/apache-zooKeeper-3.5.6-bin/conf/zoo.cfg

修改存储目录:dataDir=/opt/zookeeper/zkdata

2、启动ZooKeeper

复制代码
cd /opt/zooKeeper/apache-zooKeeper-3.5.6-bin/bin/
#启动
./zkServer.sh  start

3、查看ZooKeeper状态

复制代码
./zkServer.sh status

zookeeper启动成功。standalone代表zk没有搭建集群,现在是单节点

zookeeper没有启动

08-dubbo快速入门-spring和springmvc整合

1、新增UserServiceImpl.java类

09-dubbo快速入门

1、服务提供方(dubbo-service项目)的修改

在"dubbo-service"项目的pom.xml文件中 增加Dubbo 和 zookeeper 依赖

在"dubbo-service"项目的pom.xml文件中增加 war,用来打成war包形式

修改 "dubbo-service"项目中的 UserServiceImpl.java 文件,将 @Service注解更改为 dubbo的

修改 "dubbo-service"项目中的 applicationContext.xml文件

修改 "dubbo-service"项目中的 web.xml文件

2、服务消费者(dubbo-web项目)的修改

去掉 dubbo-web 中对 dubbo-service 的依赖

在"dubbo-web"项目的pom.xml文件中 增加Dubbo 和 zookeeper 依赖

删除"dubbo-web"项目中的 spring 的依赖

在"dubbo-web"项目中的 UserController.java文件中,增加@Reference 远程注入注解

"dubbo-web"项目中的 springmvc.xml文件中增加 dubbo 和 zookeeper的配置

启动 dubbo-web 服务之后,会报 "Address already in use: bind" 错误,是因为 dubbo-service 启动之后也会占用 22222 端口

更改 dubbo-web 的端口 33333

增加 dubbo-interface模块,作为所有服务的公共接口

在 dubbo-web项目中增加 dubbo-interface 的依赖

将 dubbo-service 和 dubbo-web 这二个服务启动起来即可进行访问了

11-dubbo高级特性-dubbo-admin安装

Monitor为dubbo的监控中心,一般为统计服务调用和消费次数的,但Monitor还不过完善,官方没有提供完整的文档。

1、环境安装

dubbo-admin 是一个前后端分离的项目。前端使用vue,后端使用springboot,安装 dubbo-admin 其实就是部署该项目。我们将dubbo-admin安装到开发环境上。要保证开发环境有jdk,maven,nodejs

安装node**(如果当前机器已经安装请忽略)**

因为前端工程是用vue开发的,所以需要安装node.js,node.js中自带了npm,后面我们会通过npm启动

下载地址:https://nodejs.org/en/

2、下载 Dubbo-Admin

进入github,搜索dubbo-admin

https://github.com/apache/dubbo-admin

下载:

3、把下载的zip包解压到指定文件夹(解压到那个文件夹随意)

4、修改配置文件

解压后我们进入...\dubbo-admin-develop\dubbo-admin-server\src\main\resources目录,找到 application.properties 配置文件 进行配置修改

修改zookeeper地址

复制代码
# centers in dubbo2.7
admin.registry.address=zookeeper://192.168.149.135:2181
admin.config-center=zookeeper://192.168.149.135:2181
admin.metadata-report.address=zookeeper://192.168.149.135:2181

admin.registry.address 注册中心

admin.config-center 配置中心

admin.metadata-report.address 元数据中心

5、打包项目

在 dubbo-admin-develop 目录执行打包命令

复制代码
mvn  clean package

6、启动后端

切换到目录

复制代码
dubbo-Admin-develop\dubbo-admin-distribution\target>

执行下面的命令启动 dubbo-admin,dubbo-admin后台由SpringBoot构建。

复制代码
java -jar .\dubbo-admin-0.1.jar

7、前台后端

dubbo-admin-ui 目录下执行命令

复制代码
npm run dev

8、访问

浏览器输入。用户名密码都是root

复制代码
http://localhost:8081/

12-dubbo高级特性-序列化

增加 "dubbo-pojo"项目,并增加 User.java类

在 "dubbo-interface"项目 中增加 dubbo-pojc 的依赖

在 "dubbo-interface"项目 中的 UserService.java类中增加 findUserById方法

在 "dubbo-interface"项目 中的 UserServiceImpl.java类中实现 findUserById方法

在 "dubbo-web"项目的 UserController.java类中增加 find方法

未结束,请期待

相关推荐
Vince丶1 小时前
UE DirectExcel使用笔记
笔记·ue5
AA陈超2 小时前
Lyra学习004:GameFeatureData分析
c++·笔记·学习·ue5·虚幻引擎
阿恩.7702 小时前
2026年1月最新计算机、人工智能、经济管理国际会议:选对会议 = 论文成功率翻倍
人工智能·经验分享·笔记·计算机网络·金融·区块链
('-')2 小时前
《从根上理解MySQL是怎样运行的》第二十章笔记
数据库·笔记·mysql
zkl_zkl_3 小时前
地理信息系统学习笔记——第六章 空间数据采集与处理
笔记·学习·数据处理·数据质量·空间数据
光头程序员3 小时前
学习笔记——主攻 vite
笔记·学习
零匠学堂20253 小时前
移动学习系统,如何提升企业培训效果?
java·开发语言·spring boot·学习·音视频
客梦3 小时前
数据结构-栈与队列
数据结构·笔记
TL滕3 小时前
从0开始学算法——第四天(题目参考答案)
数据结构·笔记·python·学习·算法
Hoshino.413 小时前
从0开始学习Linux——第七部分:DNS(1)
linux·网络·学习