目录
安装dubbo-adimn管理控制台
Dubbo核心概念
概念
-
Apache Dubbo是一款高性能、轻量级的开源java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现
-
Dubbox 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo ,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维护,为了与原有的Dubbo区分,故将其命名为Dubbox
-
Dubbox 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbox就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbox这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。
Dubbo基本概念
节点角色说明
-
服务提供者(Provider):暴露服务的服务提供方,向注册中心注册自己提供的服务
-
服务消费者(Consumer):调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软件负载均衡算法,选一台提供者进行调用,如果调用失败,在选另一台调用。
-
注册中心(Registry):注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
-
监控中心(Monitor):服务消费者和提供者,在内中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控服务中心
调用关系说明
-
1.服务容器 负责启动,加载,运行服务提供者
-
2.服务提供者 在启动时,向注册中心注册自己提供的服务
-
3.服务消费者 在启动时,向注册中心订阅自己所需的服务
-
4.注册中心 返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者
-
5.服务消费者 从提供地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
-
6。服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心
安装dubbo-adimn管理控制台
在window安装Zookeper
1.下载zookeeper 网址:https://archive.apache.org/dist/zookeeper/zookeeper-3.6.2/ 2.解压zookeeper 在解压的bin 目录中打开命令窗口,运行zkServer.cmd.会发现报错,找不到zoo.cfg. 3.修改zoo.cfg配置文件 将conf下的zoo_sample.cfg复制一份改名为zoo.cfg即可。 注意几个重要位置: dataDir=./ 临时数据存储的目录(可写相对路径) clientPort=2181 zookeeper的端口号 修改完成后再次启动zookeeper 4.使用zkCli.cmd测试 ls / :列出zookeeper根下保存的所有节点 create –e /offcn "ujiuye":创建一个offcn节点,值为ujiuye get /offcn:获取/offcn节点的值
dubbo本身并不是一个服务软件。它其实就是一个jar包能够帮你的java程序连接到zookeeper,并利用zookeeper消费、提供服务。所以你不用在Linux上启动什么dubbo服务。但是为了让用户更好的管理监控众多的dubbo服务,官方提供了一个可视化的监控程序,不过这个监控即使不装也不影响使用。
1.下载dubbo-admin 下载路径:https://github.com/apache/dubbo-admin/tree/master 2.进入目录,修改dubbo-admin配置
打开配置文件src\main\resources\application.properties,在其中指定Zookeeper
dubbo.registry.address=zookeeper://192.168.18.230:2181
3.打包dubbo-admin
在pom文件所在目录下打开命令窗口执行mvn clean package
4.运行dubbo-admin
在打包好的jar包路径下打开命令窗口执行:
java -jar dubbo-admin-0.0.1-SNAPSHOT.jar
5.打开浏览器输入localhost:7001/,登录用户名和密码均为root 进入首页
项目搭建
1.创建提供消费者工程
-
1.创建maven父工程
-
2.创建实体类子工程
-
3.创建实体类
-
4.创建子工程dubbo_dao_interface
-
5.创建子工程dubbo_service_interface
-
6.创建service子模块
2.创建提供服务者工程
-
创建子工程dubbo_web