Dubbo官网地址:
http://dubbo.apache.org/en-us/
Dubbo用户文档:
http://dubbo.apache.org/en-us/docs/user/quick-start.html
Zookeeper官网地址:
https://zookeeper.apache.org/
简介
Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
参考:百度百科
Zookeeper下载
在Dubbo中官方推荐用zookeeper作为注册中心,我们来下载安装Apache ZooKeeper 3.4.14(如需3.5以上版本,需要下载标记指示编译后的版本)
访问官网,点击Getting Started下的Download
1.下载后解压zookeeper-3.4.14.tar.gz
2.双击运行bin目录下的zkServer.cmd (Linux系统是zkServer.sh)
3.我们会发现运行过程中一闪而过,说明启动出错
4.使用编辑工具打开zkServer.cmd 文件在末尾加pause。
5.再次双击zkServer.cmd运行,查看报错信息
报错信息意思是conf下的zoo.cfg文件未找到。
2020-09-0715:19:44,974 [myid:] - ERROR [main:QuorumPeerMain@88] - Invalid config, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing C:\Users\12583\Desktop\zookeeper-3.4.14\zookeeper-3.4.14\bin\..\conf\zoo.cfg
6.找到conf目录:
有个zoo_sample.cfg文件,这个是一个demo文件,zookeeper官方的意思,这个是一个demo配置文件,我们可以自定义配置,所以直接把 zoo_sample.cfg改成zoo.cfg即可;
7.再次启动bin目录下的zkServer.cmd
启动成功!
Dubbo 用法本地服务 Spring 配置
local.xml:
<bean id=“xxxService” class=“com.xxx.XxxServiceImpl” />
<bean id=“xxxAction” class=“com.xxx.XxxAction”>
<property name=“xxxService” ref=“xxxService” />
</bean>
远程服务 Spring 配置
在本地服务的基础上,只需做简单配置,即可完成远程化:
将上面的 local.xml 配置拆分成两份,将服务定义部分放在服务提供方 remote-provider.xml,将服务引用部分放在服务消费方 remote-consumer.xml。
并在提供方增加暴露服务配置 ,在消费方增加引用服务配置 。
remote-provider.xml:
<!-- 和本地服务一样实现远程服务 -->
<bean id=“xxxService” class=“com.xxx.XxxServiceImpl” />
<!-- 增加暴露远程服务配置 -->
<dubbo:service interface=“com.xxx.XxxService” ref=“xxxService” />
remote-consumer.xml:
<!-- 增加引用远程服务配置 -->
<dubbo:reference id=“xxxService” interface=“com.xxx.XxxService” />
<!-- 和本地服务一样使用远程服务 -->
<bean id=“xxxAction” class=“com.xxx.XxxAction”>
<property name=“xxxService” ref=“xxxService” />
</bean>