dubbo和zookeeper,spring结合实现服务

为了熟悉dubbo框架的使用,看了些dubbo的文档,决定实践一下,搭建一个简单的dubbo服务。
大概的想法是:使用spring管理dubbo,注册中心使用zookeeper,使用maven 配置和管理项目,分为3部分,服务提供端弄三个Project,一个叫做dubbo-demo用作父 Project来管理整个  Projects,一个叫做dubbo-demo-api的  Project用来定义服务接口,一个叫做dubbo-demo-core的  Project用来定义和配置dubbo服务提供者,一个叫dubbo-demo-use的  Project来实现服务的使用。
由于我只有一台512M的阿里云 ubuntu服务器,所以暂时不考虑多注册中心,正好我几天前,搭建了zookeeper,所以目前我只需要新建几个maven项目,并且添加一些简单的配置即可实现我上面的想法。
工程之后同步到git上( http://github.com/MarsYoung/dubbo-demo),以后可以参考学习。


1.新建maven项目.在eclipse中打开new,选择others,并且在搜索框中输入maven。(前提是我的机器eclipse中已经安装了maven插件。)


2.选择maven-archetype-quickstart架构的maven项目类型。


3.输入对应的组织ID和项目ID,定义独特的包名,然后点击finish完成父项目的搭建。


4.新建New Project,选择Maven Module。

5. 新建dubbo-demo-api项目用来定义接口。

6.新建的时候会提示错误,因为Maven Module的新建需要选用Parent Project,而ParentProject中要求有pom类型的packaging。

7.打开刚才新建的dubbo-demo 工程的pom文件,修改packaging节点为pom类型。


8.  然后可以新建dubbo-dem-api,dubbo-demo-service等Project,选中dubbo-demo作为Parent Project.


9.这样maven插件会在dubbo-demo的pom文件中自动生成Modules的节点。



10.同时在新建的工程中,有了parent节点,指向dubbo-demo 工程。


11.而dubbo-demo 工程的目录结构看起来是这个样子。


12.在github网站上create repository  名称为dubbo-demo
git init
git add *
git commit -m "init project"
git remote add origin git@github.com:MarsYoung/dubbo-demo
git push -u origin master

13.删除eclipse中项目,本地不删除,然后再重新导入maven项目,eclipse自动识别git项目(记不清git插件是自带的还是我之前装的了)。
  

14.工程建好之后就该具体配置dubbo和zookeeper的使用了,首先在dubbo-demo的pom中指定整个项目使用的zookeeper和dubbo版本,以及ZKclient的版本,以及spring的版本。

其中dubbo中由于使用了spring的相关依赖,zookeeper中使用了jmx等的相关依赖,所以用exclusions把对应的依赖删除,使用项目内部的依赖,使依赖统一。
然后配置core项目的pom,添加dubbo,zookeeper,zkclient等依赖。
对dubbo-demo-api执行maven install,之后在core项目中添加入dependency。

并且maven update project,之后新建对应的包,类实现一个在console打印hello的功能。



15。然后要配置spring,但是找不到对应的source folder,新建一个。


16. core的 pom中引入 spring,加入dubbo标签,并且按照dubbo文档配置相关内容,如下。

17.  为了让dubbo-demo-core工程打包成一个可执行jar,我用来maven-shade-plugin插件,指定了对应的要运行的类。


打包,结果报异常说无法找到api包,install api包后还是无法找到,奇怪啊,后来把lastupdate文件删除之后才找到。。

18.打包成功后把对应的jar包提交到服务器上,然后执行java -jar jar包。第一次忘了引入zkclient的依赖,报下列错误。


19.引入zkClient之后启动成功。




20.通过zookeeper的管理平台(上一篇文章中用来测试dubbo源码中的示例服务搭建的),可以查看对应提供的服务。至此dubbo服务搭建完成。
这样对于我们系统中的其他工程就可以通过dubbo来使用zookeeper注册中心提供的工程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值