Dubbo 是什么
- 一款分布式服务框架
- 高性能和透明化的RPC远程服务调用方案
- SOA服务治理方案
Dubbo 架构流程图
[图片上传失败...(image-7dbb94-1533088887421)]
Provider:服务提供方
Consumer:服务消费者
Registry:注册中心
Monitor:统计服务调用次数和调用时间的监控中心
调用流程
0.启动服务提供者。
1.服务提供者在启动时,向注册中心注册自己提供的服务。
2.服务消费者在启动时,向注册中心订阅自己所需的服务。
3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
注册中心
服务提供方:针对所提供的服务到注册中心发布。
服务消费方:到服务中心订阅所需的服务。
对于任何一方,不论服务提供方或者服务消费方都有可能同时兼具两种角色,即需要提供服务也需要消费服务。
Zookeeper为dubbo的注册中心,dubbo服务的生产者和消费者都需要在Zookeeper进行注册;
下载zookeeper压缩包并解压;
进入conf目录将 zoo_sample.cfg 改名为 zoo.cfg;
进入bin目录双击zkServer.cmd,若启动成功,则windows单机版zookeeper搭建成功!
使用IntelliJ IDEA搭建Dubbo
1. 创建一个maven空项目,作为项目的父工程
2. 在父工程pom.xml中添加公共依赖
3. 新建dubbo-api,dubbo-provider,dubbo-consumer
最后项目结构如下:
[图片上传失败...(image-506ec1-1533102765743)]
dubbo 2.6.x 的 dubbo-admin 管理平台已经经过重构, 改成了使用springboot实现了, 之前下载源码后使用mvn clean package -Dmaven.test.skip=true编译打包后会得到一个war包, 将这个war包扔到Tomcat应用目录下, 配置好ZK后,启动Tomcat就安装成功了。而现在改成了springboot实现之后,安装方式有很大不同。
dubbo-admin编译
切换到master分支
incubator-dubbo-ops目录下执行 mvn clean package -Dmaven.test.skip=true
incubator-dubbo-ops/dubbo-admin目录下执行 mvn spring-boot:run
http://localhost:7001/ 打开dubbo管理控制台
这种方法启动的是springboot内置的tomcat
git安装并在idea中配置
1. 下载安装git客户端
与Eclipse中使用git不一样, IDEA虽然集成了git,但是并没有自带git.exe,所以需要自己下载。
git.exe 分32和64位,可以在git官网下载:https://git-scm.com/download/win
安装成功后,使用快捷键win+r, cmd, 打开控制台,然后输入git命令,看到如图界面表示安装成功
2. 为IDEA指定git路径
默认情况下,IDEA是不自带git运行程序的,所以需要通过
菜单->settings->Version Control->Git->Path to Git executable: 设置为安装git中所安装的git.exe
3. 设置github账号
接下来为github设置账号密码:
菜单->settings->Version Control->GitHub->Create API Token
设置好了之后,IDEA的git准备工作就做好了
4. 推送项目到仓库
首先登陆github网页新建一个仓库,然后在idea菜单栏VCS中新建一个本地仓库,然后在项目名点击右键选择git add,然后按下ctrl+k选择commit,ctrl+shift+k可以选择push。
commit是把修改保存到本地仓库,push是推送到github仓库,github仓库的文件时间是commit的时间。