Dubbo的使用详解

来源:互联网 发布:泰剧app软件下载 编辑:程序博客网 时间:2024/05/22 04:28

公司现在要重新搭建主站的架构,将采用分布式的架构,用dubbo作为系统间的通信。

下面详细来记录下dubbo的使用。

dubbo的基本组成有:服务提供方,服务调用方,注册中心,监控中心,容器。注册中心采用dubbo官方推荐的zookeeper来完成。

第一步:安装zookeeper注册中心,将zookeeper安装在本地搭建的linux虚拟机中。

1:安装jdk

2:解压缩zookeeper压缩包

3:将conf文件夹下zoo_sample.cfg复制一份,改名为zoo.cfg

4:修改配置dataDir属性,指定一个真实目录/root/zookeeper-3.4.6/data

5:

启动zookeeperbin/zkServer.sh start

关闭zookeeperbin/zkServer.sh stop

查看zookeeper状态:bin/zkServer.sh status


第二步:现在来看下dubbo服务要怎么用。

Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于SpringSchema扩展进行加载。

发布服务

<!-- 和本地服务一样实现远程服务 -->

<bean id="xxxService" class="com.xxx.XxxServiceImpl" />

<!-- 增加暴露远程服务配置 -->

<dubbo:service interface="com.xxx.XxxService" ref="xxxService" />

调用服务

<!-- 增加引用远程服务配置 -->

<dubbo:reference id="xxxService" interface="com.xxx.XxxService" />

<!-- 和本地服务一样使用远程服务 -->

<bean id="xxxAction" class="com.xxx.XxxAction">

<property name="xxxService" ref="xxxService" />

</bean>


实际开发中示例:

<!-- 使用dubbo发布服务 -->
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="taotao-manager" />
<dubbo:registry protocol="zookeeper"
address="192.168.25.128:2181" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="com.taotao.service.TbItemService" ref="tbItemServiceImpl" timeout="300000"/>

<!-- 引用dubbo服务 -->
<dubbo:application name="taotao-manager-web"/>
<dubbo:registry protocol="zookeeper" address="192.168.25.128:2181"/>
<dubbo:reference interface="com.taotao.service.TbItemService" id="tbItemService" />