1、简介
Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:
1)面向接口的远程方法调用
2)智能容错和负载均衡
3)服务自动注册和发现
(官网:http://dubbo.apache.org/zh-cn/)
2、基本概念
(2.1)节点角色说明:
Provider:暴露服务的服务提供方
Consumer:调用远程服务的服务消费方
Registry:服务注册与发现的注册中心
Monitor:统计服务的调用次数和调用时间的监控中心
Container:服务运行容器
(2.2)调用关系说明
0:服务容器负责启动,加载,运行服务提供者。
1:服务提供者在启动时,向注册中心注册自己提供的服务。
2:服务消费者在启动时,向注册中心订阅自己所需的服务。
3:注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4:服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5:服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
3、dubbo环境搭建(windows)
(3.1)下载zookeeper:地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.11/
(3.2)解压zookeeper:解压后,运行zkServer.cmd,初次运行会报错,因为没有zoo.cfg文件。
(3.3)修改zoo.cfg配置文件:将conf下的zoo_sample.cfg复制一份,改名为zoo.cfg即可。注意几个重要的位置
dataDir=./ 临时数据存储的目录(可写相对路径);clientPort=2181 zookeeper的端口号;
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=../data
# the port at which the clients will connect
clientPort=2181
修改完成后再次启动zookeeper.
(3.4)使用zkCli.cmd测试
D:\Dsoft\back-tools\zk\zookeeper-3.4.11\bin>zkCli.cmd
Connecting to localhost:2181
//省略
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
// ls / 表示列出zookeeper根下保存的所有节点(dubbo是我之前做好的,忽略即可)
[zk: localhost:2181(CONNECTED) 0] ls /
[dubbo, zookeeper]
// 创建一个wyq节点,值为123
[zk: localhost:2181(CONNECTED) 1] create -e /wyq 123
Created /wyq
[zk: localhost:2181(CONNECTED) 2] ls /
[dubbo, zookeeper, wyq]
//获取 /wyq节点的值
[zk: localhost:2181(CONNECTED) 3] get /wyq
123
//省略
[zk: localhost:2181(CONNECTED) 4]
此时zookeeper安装完成!(注册中心安装完成)
(3.5)安装dubbo-admin管理控制台
dubbo本身并不是一个服务软件。它其实就是一个jar包能够帮你的java程序连接到zookeeper,并利用zookeeper消费、提供服务。所以不用启动什么dubbo服务。但是为了让用户更好的管理监控众多的dubbo服务,官方提供了一个可视化的监控程序,不过这个监控即使不装也不影响使用。
下载地址:https://github.com/apache/incubator-dubbo-ops/tree/master
进入目录,修改dubbo-admin配置:
修改 src\main\resources\application.properties 指定zookeeper地址
打包dubbo-admin:mvn clean package -Dmaven.test.skip=true
运行dubbo-admin:java -jar dubbo-admin-0.0.1-SNAPSHOT.jar
默认使用root/root 登陆
(3.6)安装dubbo-monitor-simple
<1>下载地址:https://github.com/apache/incubator-dubbo-ops/tree/master
<2>修改配置指定注册中心地址:进入 dubbo-monitor-simple\src\main\resources\conf,修改 dubbo.properties文件
注册中心地址:dubbo.registry.address=zookeeper://127.0.0.1:2181
http访问端口:dubbo.jetty.port=8080
<3>打包dubbo-monitor-simple:mvn clean package -Dmaven.test.skip=true
<4>解压 tar.gz 文件,并运行start.bat:
如果缺少servlet-api,自行导入servlet-api再访问监控中心
<5>启动访问8080
先启动zookeeper,再启动dubbo-admin、dubbo-monitor-simple
zookeeper启动完成!
dubbo-admin启动完成,访问:http://localhost:7001/
dubbo-monitor-simple启动
可以直接使用的win下的dubbo环境:
包括zookeeper(注册中心)、dubbo-admin-0.0.1-SNAPSHOT.jar(dubbo-admin:图形化的服务管理页面)、dubbo-monitor-simple(监控中心)
链接:https://pan.baidu.com/s/1WaaEaDp1v4am3PtzliZXOg
提取码:oxrn