dubbo框架基础知识

RPC调用流程  

 

RPC两个核心模块:通讯,序列化

序列化:为了传输

Netty网络传输

下图为Spring Cloud架构

dubbo中文 http://dubbo.apache.org/zh-cn/docs/user/quick-start.html 

HTTP SpringCloud(是一个生态)而dubbo是一个通信,Dubbo不会干掉springCloud

 Apache Dubbo是一款高性能,轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现

下图为dubbo架构

iniit表示初始化

async:异步

sync: 同步

只有invoke是同步的,其它全部是异步

notify:通知,布告    invoke:执行,调用,引用

服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务

服务消费者(Consumer):调用远程服务的服务消费放,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法, 选一台提供者进行调用,如果调用失败,再选一台调用

注册中心(Registry):注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者

监控中心(Monitor):服务消费者和提供则,在内存中累计调用次数和调用时间, 定时每分钟发送一次统计数据到监控中心

 

调用关系说明

(1)服务容器负责启动,加载,运行服务提供者

(2)服务提供者在启动时,向注册中心注册自己提供的服务

(3)服务消费者在启动时,向注册中心订阅自己所需的服务

(4)  注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者

(5)服务消费者,从提供地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

(6)服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心

 

 注册中心参考工具

(1) Multicast注册中心

(2) Zookeeper注册中心

(3) Nacos注册中心

(4) Redis注册中心

(5) Simple注册中心

 二安装zookeeper

cmd D:\zookeeper\apache-zookeeper-3.6.0-bin\bin

肯能遇到问题:闪退!

解决方案:编辑zkServer.cmd文件末尾添加pause,即如下内容

echo on
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*
pause <---------------添加内容如下
endlocal

打开zookeeper服务器端口 zkServer.cmd

打开zookeeper客户端       zkCli.cmd

四 使用zkCli.cmd 进行测试

ls / :列出zookeeper跟下保存的所有节点

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] ls /
[dubbo, zookeeper]
[zk: localhost:2181(CONNECTED) 1] create -e /kuangshen 123 
Created /kuangshen
[zk: localhost:2181(CONNECTED) 2] ls /
[dubbo, kuangshen, zookeeper]
[zk: localhost:2181(CONNECTED) 3]

[zk: localhost:2181(CONNECTED) 3] get /kuangshen
123
[zk: localhost:2181(CONNECTED) 4]

三安装dubbo admin

dubbo本身并不是一个服务软件。它其实就是jar包,能够帮你的Java程序连接到zookeeper, 并利用zookeeper消费,提供服务

但是我们为了让用户更好的管理众多的dubbo服务, 官方提供了一个可视化的监控程序dubbo-admin,不过这个监控即使不安装也不会影响使用

1 下载dubbo-admin地址

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

2解压进入目录

下载文件为为dubbo-admin-master.zip,如果有修改,可以修改如下配置

D:\Environment\dubbo-admin-master\dubbo-admin\src\main\resources\application.properties

 

3在项目目录下打包dubbo-admin

cmd D:\Environment\dubbo-admin-master

D:\Environment\dubbo-admin-master>mvn clean package -Dmaven.test.skip=true

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] dubbo-admin ........................................ SUCCESS [ 26.544 s]
[INFO] dubbo-ops .......................................... SUCCESS [  0.033 s]
[INFO] dubbo-monitor-simple ............................... SUCCESS [ 15.254 s]
[INFO] dubbo-registry-simple .............................. SUCCESS [  2.005 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 48.970 s
[INFO] Finished at: 2020-03-25T12:25:22+08:00
[INFO] Final Memory: 52M/979M
[INFO] ------------------------------------------------------------------------

D:\Environment\dubbo-admin-master>
D:\Environment\dubbo-admin-master>cd dubbo-admin\target

D:\Environment\dubbo-admin-master\dubbo-admin\target>dir
 驱动器 D 中的卷是 新加卷
 卷的序列号是 04EF-B31C

打包完成目标文件
 D:\Environment\dubbo-admin-master\dubbo-admin\target 的目录

2020/03/25  12:25    <DIR>          .
2020/03/25  12:25    <DIR>          ..
2020/03/25  12:24    <DIR>          classes
2020/03/25  12:25        31,739,794 dubbo-admin-0.0.1-SNAPSHOT.jar
2020/03/25  12:24           878,297 dubbo-admin-0.0.1-SNAPSHOT.jar.original
2020/03/25  12:24    <DIR>          generated-sources
2020/03/25  12:24    <DIR>          maven-archiver
2020/03/25  12:24    <DIR>          maven-status
               2 个文件     32,618,091 字节
               6 个目录 158,328,262,656 可用字节

D:\Environment\dubbo-admin-master\dubbo-admin\target>java -jar dubbo-admin-0.0.1-SNAPSHOT.jar

http://localhost:7001 root/root
zookeeper: 注册中心
dubbo-admin: 是一个监控管理后台-查看我们注册了哪些服务,哪些服务被消费了
Dubbo: jar包
发布了251 篇原创文章 · 获赞 28 · 访问量 11万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览