Dubbo学习笔记(一)--- Dubbo简介和zookeeper的安装

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>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。