Dubbo入门学习

1.什么Dubbo?
DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架.

以下资源连接来自Dubbo官网 http://dubbo.io/

资源
源码:https://github.com/alibaba/dubbo
下载:http://repo1.maven.org/maven2/com/alibaba/dubbo
微博:http://weibo.com/dubbo

=============================================
dubbo详细介绍可以参考:简单之美大神的文章: http://shiyanjun.cn/archives/325.html

就不多说了。

Dubbo架构

这里写图片描述

Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次数和调用时间的监控中心。

调用说明:
0.服务容器负责启动,加载,运行服务提供者。
1.服务提供者在启动时,向注册中心注册自己提供的服务。
2.服务消费者在启动时,向注册中心订阅自己所需的服务。
3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心

开始搞起
1.我是用的windos环境搞的

2.下载zookeeper,解压缩,复制zookeeper\conf\zoo_sample.cfg配置文件,改名zoo.cfg,zookeeper启动加载zoo.cfg

3.启动zookeeper 双击 zookeeper\bin\zkServer.cmd
这里写图片描述

4.安装tomcat并配置,修改tomcat端口为8088【个人喜好,可改可不改】

5.下载或自己打包dubbo-admin.war 放到tomcat的webapps目录下
这里写图片描述

启动tomcat。打开apache-tomcat-7.0.78\webapps\dubbo-admin-2.5.4\WEB-INF\dubbo.properties 修改zookeeper配置 ,我都是本地,所以不需要修改
这里写图片描述

【dubbo源码可在github上自行下载:https://github.com/alibaba/dubbo

6.zookeeper和tomcat都启动成功后,可以进入编码阶段了:
服务端:
这里写图片描述
消费端:
这里写图片描述

注:我的demo结构上是有些小问题的,因为懒所以就不改进了 ╮(╯▽╰)╭

7.主要是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-admin 或 dubbo-monitor 会显示这个名字,方便辨识-->
<dubbo:application name="xixi_provider"  />
<!-- 使用multicast广播注册中心暴露服务地址
<dubbo:registry address="multicast://224.5.6.7:1234" />-->
<!--使用 zookeeper 注册中心暴露服务,注意要先开启 zookeeper-->
<dubbo:registry address="zookeeper://127.0.0.1:2181" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!--使用 dubbo 协议实现定义好的 api.PermissionService 接口-->
<dubbo:service interface="com.rey.dubbo.dubbo_provider.service.DemoService" ref="demoService" />
<!-- 具体的实现bean -->
<bean id="demoService" class="com.rey.dubbo.dubbo_provider.service.impl.DemoServiceImpl" />


消费端:

<?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="hehe_consumer" />
<!--向 zookeeper 订阅 provider 的地址,由 zookeeper 定时推送-->
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>
<!--使用 dubbo 协议调用定义好的 api.PermissionService 接口-->
<dubbo:reference id="demoService" interface="com.rey.dubbo.dubbo_provider.service.DemoService"/>
</beans>

8.编写测试代码,先启动服务端,启动后可以在dubbo-admin管理上查看
这里写图片描述

这里写图片描述

然后启动消费端,同样可在dubbo-admin管理上查看
这里写图片描述

这里写图片描述
demo下载地址:https://github.com/reyshc/dubbo_introduction.git 仅供参考!!!

9.测试结果:
这里写图片描述

这里写图片描述

这里写图片描述

最简单的dubbo使用结束!

以上参考博客:
http://blog.csdn.net/evankaka/article/details/47858707

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值