dubbo和zookeeper
Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,作为业界知名的分布式SOA(面向服务的架构 )。实现服务的输出和输入功能,可以和 spring框架无缝集成。 注意这里的dubbo只是一个框架,至于你架子上放什么是完全取决于你。框架中要完成调度必须要有一个分布式的注册中心,储存所有服务的元数据,你可以用zk,也可以用别的,只是大家都用zk。
ZooKeeper(注册中心)是一个分布式的,开放源码的分布式应用程序协调服务 ,zookeeper用来注册服务和进行负载均衡,单单有负载均衡还不 够,节点之间的数据和资源需要同步,ZooKeeper集群就天然具备有这样的功能; zookeeper通过心跳机制可以检测挂掉的机器并将挂掉机器的ip和服务对应关系从列表中删除。
在java中的应用
发布服务
1、首先导入jar包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.7</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.10</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> < 大专栏 dubbo与zookeeperartifactId>zkclient</artifactId> <version>0.1</version> </dependency>
|
2、在spring-service.xml中配置
1 2 3 4 5 6 7 8 9
| <dubbo:application name="travel-manager"/> <dubbo:registry protocol="zookeeper" address="www.vm.com:2181"/> <dubbo:protocol name="dubbo" port="20880"/>
<dubbo:service interface="com.service.xxxService" ref="xxxServiceImpl" timeout="300000"/>
|
3、启动tomcat,即可在dubbo在看到相应的服务接口
调用服务
在springmvc.xml中引用dubbo服务
1 2 3 4 5 6 7
|
<dubbo:application name="travel-web"/>
<dubbo:registry protocol="zookeeper" address="www.1801vm.com:2181"/>
<dubbo:reference interface="com.service.xxxService" id="xxxService"/>
|