dubbo(2)---核心概念

1、简介

Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:

1)面向接口的远程方法调用

2)智能容错和负载均衡

3)服务自动注册和发现

(官网:http://dubbo.apache.org/zh-cn/

2、基本概念

dubbo(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(2)---核心概念

打包dubbo-admin:mvn clean package -Dmaven.test.skip=true

运行dubbo-admin:java -jar dubbo-admin-0.0.1-SNAPSHOT.jar

默认使用root/root 登陆

dubbo(2)---核心概念

(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:

dubbo(2)---核心概念

如果缺少servlet-api,自行导入servlet-api再访问监控中心

<5>启动访问8080

dubbo(2)---核心概念

先启动zookeeper,再启动dubbo-admin、dubbo-monitor-simple

dubbo(2)---核心概念

zookeeper启动完成!

dubbo(2)---核心概念

dubbo-admin启动完成,访问:http://localhost:7001/

dubbo(2)---核心概念

dubbo-monitor-simple启动

dubbo(2)---核心概念

访问:http://localhost:8080/

dubbo(2)---核心概念

可以直接使用的win下的dubbo环境:

包括zookeeper(注册中心)、dubbo-admin-0.0.1-SNAPSHOT.jar(dubbo-admin:图形化的服务管理页面)、dubbo-monitor-simple(监控中心)

链接:https://pan.baidu.com/s/1WaaEaDp1v4am3PtzliZXOg 
提取码:oxrn