一、Dubbo简介
1、dubbo是什么?
▶ 一个分布式服务框架
▶ 一个RPC远程服务调用方案
▶ 一个SOA服务治理方案
2、dubbo架构图
3、节点说明
Provider:暴露服务的服务提供方
Consumer:调用远程服务的服务消费方
Registry:发现并注册服务的服务注册中心
Monitor:统计服务调用次数和调用时间的监控中心
Container:服务的运行容器
4、调用流程说明
① 服务容器负责启动、加载、运行服务提供方;
② 服务提供方在启动时,向注册中心注册自己提供的服务;
③ 服务消费方在启动时,向注册中心订阅自己所要消费的服务;
④ 注册中心返回服务提供方的地址列表给服务消费方,如果有变更,注册中心将基于长连接推送变更数据给服务消费方;
⑤ 服务消费方从服务提供方的地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用;
⑥ 服务消费方和提供方,在内存中统计调用次数和调用时间,定时第一分钟发送统计数据到监控中心。
二、启动zookeeper作为dubbo的注册中心
zookeeper是一个分布式的服务框架,是树型的目录服务的数据存储,能做到管理集群数据,dubbo与zookeeper一起可以做到集群部署,当服务提供方出现异常或断电停机时,zookeeper注册中心能自动删除提供者信息,当提供方重启时,能自动恢复注册数据,以及订阅请求。
没有安装zookeeper的可以参考:Zookeeper学习笔记(一)—— 在Linux下搭建Zookeeper服务器单机版
三、在Linux下部署dubbo的监控中心(方便查看服务提供方和消费方的情况)
1、下载dubbo-admin的war包
之前dubbo还没有移交给apache时,在阿里巴巴的github上还可以找到dubbo-admin这个项目,我们只需要下载下来打成war包即可,但现在dubbo已经成为apache开源组织的一个顶级项目之一,在apache的github上不知道为什么找不到dubbo-admin这个项目了,所以这里推荐一个已经打包好的war包给大家下载,支持jdk8,下载地址:
https://download.csdn.net/download/u010608720/9542675,如果没有积分的话也可以去我的github上去下载:
https://github.com/Alexshi5/dubbo-demo
2、将war包上传到linux中然后部署到tomcat下面的webapps目录中,然后启动tomcat
如果还没有安装tomcat的可以参考: 学习笔记(二)—— 在Linux下搭建Tomcat服务器
[root@192 ~]# cp dubbo-admin-2.8.4.war /usr/local/tomcat9/webapps/