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方法

未结束,请期待

相关推荐
卡提西亚2 小时前
C++笔记-23-类和对象-多态
c++·笔记
奋斗的牛马2 小时前
硬件工程师-基础知识电阻(四)
单片机·嵌入式硬件·学习·fpga开发
楼田莉子2 小时前
Linux学习:进程的控制
linux·运维·服务器·c语言·后端·学习
梁小憨憨2 小时前
Psychtoolbox (PTB)安装指南
笔记
摇滚侠2 小时前
Vue 项目实战《尚医通》,底部组件拆分与静态搭建,笔记05
前端·vue.js·笔记·vue
降临-max3 小时前
OpenStack创建实例一直处于创建且未分配IP问题解决
笔记·学习·openstack
QT 小鲜肉4 小时前
【C++基础与提高】第一章:走进C++的世界——从零开始的编程之旅
开发语言·c++·笔记·qt
老虎06274 小时前
黑马点评学习笔记10(优惠券秒杀下单优化(分布式锁的优化,Lua脚本))
笔记·分布式·学习
递归不收敛4 小时前
config.json 完全指南:项目配置的核心实践
笔记·学习·json