dubbo demo实现
粗略的写了一个dubbo的demo,使用了alibaba的dubbo,还有zookeeper来做配置中心
参考资料地址: http://dubbo.io/User+Guide-zh.htm#UserGuide-zh-%E5%85%A5%E9%97%A8
需要依赖的jar包
首先如果使用Spring的话,需要引入Spring的jar包: spring中使用了commons-logging<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>然后是引入alibab的dubbo的jar包,这个包需要JDK1.5+
而且用到了log4j:
建议使用dubbo-2.3.3以上版本的zookeeper注册中心客户端
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.3.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
</dependency>
zookeeper的依赖包:支持zkclient和curator两种Zookeeper客户端实现:从2.2.0版本开始缺省为zkclient实现,以提升zookeeper客户端的健状性。从2.3.0版本开始支持可选curator实现。
<dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.3.3</version></dependency><dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version></dependency>
provider的dubbo配置部分:<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!- 提供方应用信息,用于计算依赖关系 ->
<dubbo:application name="hello-world-app"/>
<!- 使用zookeeper注册中心暴露服务地址 ->
<dubbo:registry address="zookeeper://zk.dev.corp.qunar.com:2181"/>
<!- 用dubbo协议在20880端口暴露服务 ->
<dubbo:protocol name="dubbo" port="20880"/>
<!- 声明需要暴露的服务接口 ->
<dubbo:service interface="com.qunar.zhao.provider.api.IHelloWorld" ref="helloWorldService"/>
<!- 和本地bean一样实现服务 ->
<bean id="helloWorldService" class="com.qunar.zhao.dubbbo.HelloWorldServiceImp.HelloWorldService"/>
</beans>
consumer的dubbo的配置部分:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 ->
<dubbo:application name="consumer-of-helloworld-app" />
<!- 使用multicast广播注册中心暴露发现服务地址 ->
<dubbo:registry address="zookeeper://zk.dev.corp.qunar.com:2181" />
<!- 生成远程服务代理,可以和本地bean一样使用demoService ->
<dubbo:reference id="helloWorldService" interface="com.qunar.zhao.provider.api.IHelloWorld" />
</beans>
jar包的安装:http://www.cnblogs.com/zhaoxinshanwei/p/5948561.html
最新文章
- (easy)LeetCode 237.Delete Node in a Linked List
- req.xhr在express中的应用
- 几个DOM属性
- vuejs 父组件向子组件传递($broadcast()的用法)
- sscanf( )函数初体验
- Noip2016组合数(数论)
- Cacti监控一台Webserver上多个Tomcatport的实现
- c/c++再学习:C++中public、protect、private的访问权限控制
- conda的使用(附带远程文件传输命令)
- Eslint 规则说明
- git命令详解( 八)
- golang学习笔记19 用Golang实现以太坊代币转账
- [MySQL FAQ]系列 — processlist中哪些状态要引起关注 解决mysql cpu过高问题
- Android友盟推送
- 【PaPaPa】实现缓存决策 - 让你的缓存变的有智慧
- zqgame《每日一言》
- # 释放内存 filter_res_q_l = filter_res_q_l[-2048:] filter_res_a_l = filter_res_a_l[-2048:]
- WinForm-SuspendLayout、ResumeLayout、PerformLayou——转载
- CSAPP阅读笔记-存储器层次结构-第六章-P400-P462
- Spark Streaming初探