关于本文
本文是一个dubbo的入门demo,目的在于快速入门
dubbo是什么
一款分布式服务框架
高性能和透明化的rpc远程服务调用方案
soa服务治理方案
dubbo入门demo
了解了dubbo以后,自然要搭建一个简单的demo实现。
由于dubbo需要一个注册中心,本文采用的是zookeeper.
主要是以下几个步骤:
安装zookeeper,启动;
创建maven项目,构建dubbo+zookeeper+spring实现的简单demo;
安装dubbo-admin,实现监控。
本文不是讲zookeeper的,所以关于zookeeper的安装请移步这篇教程。
创建好的maven项目如图所示,其中provider和consumer都依赖api.前者是服务提供者,后者是服务消费者。
下面将详细叙述代码构建过程。
首先构建maven项目,导入所需要的jar包依赖。 需要导入的有spring, dubbo, zookeeper等jar包。 其中dubbodemo的pom.xml如下
创建dubbo-api的maven项目(有独立的pom.xml,用来打包供提供者消费者使用)。 在项目中定义服务接口:该接口需单独打包,在服务提供方和消费方共享。
demoservice
创建dubbo-provider的maven项目(有独立的pom.xml,用来打包供消费者使用)。 实现公共接口,此实现对消费者隐藏:
pom.xml
demoserviceimpl
provider
provider.xml
log4j.xml
创建dubbo-consumer的maven项目(可以有多个consumer,但是需要配置好)。 调用所需要的远程服务:
consumer
consumer.xml
运行项目,先确保provider已被运行后再启动consumer模块
dubbo管理控制台介绍
下载dubbo-admin,可自行根据网上介绍安装。大致做法就是将dubbo-admin中 的某个文件夹内容替换到tomcat的conf中,再运行tomcat即可。但我在实际操作中发现jdk8无法运行,后来找到一个jdk8可以实现的dubbo-admin版本,下载地址:http://www.itmayun.com/it/files/226631678709806/resource/901920001882583/1.html。
成功开启输入用户名密码root后,即可进入控制台首页查看消费者提供者情况: 可能会出现看不到服务的情况,如果出现请看这篇教程
整个项目的代码已经上传到我的github上,地址
dubbo深入
dubbo 支持的9种协议
dubbo负载均衡策略及对应源码分析
dubbo使用之容错机制