Dubbo简介及实例
节点角色说明:
Ø Provider: 暴露服务的服务提供方。
Ø Consumer: 调用远程服务的服务消费方。
Ø Registry: 服务注册与发现的注册中心。
Ø Monitor: 统计服务的调用次调和调用时间的监控中心。
Ø Container: 服务运行容器。
调用关系说明:
0. 服务容器负责启动,加载,运行服务提供者。
1. 服务提供者在启动时,向注册中心注册自己提供的服务。
2. 服务消费者在启动时,向注册中心订阅自己所需的服务。
3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
注册中心(Registry)说明:
对于Dubbo架构中的控制中心及Registry,阿里提供了两种方案:Zookeeper和Redis。生产环境建议大家都使用Zookeeper,推荐理由是:
1. Dubbo的官网上写着,使用Dubbo-2.3.3及以上的版本,推荐使用Zookeeper注册中心。
2. Zookeeper是Apache Hadoop的子项目,强度相对较好,能够完全胜任生产环境的扮演稳定的角色。
3. Dubbo未对Zookeeper服务端做任何侵入修改,只需安装原生的Zookeeper服务器即可,所有注册中心逻辑适配都在调用Zookeeper客户端完成。
3、实例
下面将不贴出来源码,只对项目结构即部分核心代码进行简单说明。源码自行下载,下载地址:点击打开链接
为了简单起见,这个实例中,我们没有使用Zookeeper注册中心暴露服务地址,而是使用外网的multicast广播注册中心暴露服务地址。这样我们可以快速的认识一下Dubbo的作用。
案例中,我们建立了两个WebProject:dubboprovider和dubboconsumer,前者为服务提供方,后者作为客户端。我们将dubboprovider服务类的接口引入到dubboconsumer项目中(不能引用服务的实现类),然后通过multicast广播注册中心(真实环境用Registry)来远程调用dubboprovider服务的实现,如果能成功调到,就算成功。(项目中applicationContext.xml会报错,是由http://code.alibabatech.com/schema/dubbo/dubbo.xsd引起,说是阿里的相关服务换地方了,不过没关系,可以正常运行)
Dubbo简介及实例的更多相关文章
- dubbo入门学习 三 dubbo简介
http://dubbo.apache.org/zh-cn/docs/user/references/protocol/dubbo.html Dubbo简介 1. Dubbo:一个分布式.高性能.透明 ...
- dubbo请求报文实例
dubbo请求报文实例: ============================================= Request [ id=6723668, // 消息ID,Long类型 vers ...
- Dubbo简介与基本概念
场景 分布式系统的发展演变以及RPC简介: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103555049 Dubbo简介 Ap ...
- (一)Dubbo简介
Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成.具体可以看 百度百科 https://baike.ba ...
- Dubbo简介2
Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成.具体可以看 百度百科 https://baike.ba ...
- jquery简介和实例
一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库. 参考:http://www.php100 ...
- Wpf 数据绑定简介、实例1
简介:1.WPF绑定使用的源属性必须是依赖项属性,这是因为依赖项属性具有内置的更改通知支持,元素绑定表达式使用了Xaml扩展标记, WPF绑定一个控件是使用Binding.ElementName, 绑 ...
- dubbo+zookeeper+spring实例
互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的.现在核心业务抽取出来,作为独立的服务,使 ...
- Dubbo简介---搭建一个最简单的Demo框架
Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本. ...
随机推荐
- Scala学习-01-变量与类型
Scala运行在jvm之上,可以调用Java类库和与Java框架交互,并将面向对象与面向函数结合在一起. 特点: 1 保留了静态类型检查.安全保障高. 2 函数式编程,更加灵活. 3 运行于jvm之上 ...
- ogre3D学习基础6---场景管理器的使用
场景管理器的使用 最常使用的坐标系统空间(同时也是Ogre程序所能提供的)即是世界空间(World).父节点空间(Parent)以及本地空间(Local). 1.世界空间 就是物体所存在的地方,当我们 ...
- ora flashback详解
使用oracle数据库时,难免会碰到一些问题. 例:1.如何回滚已经commit了的数据 2.如何查询已经被覆盖掉的数据[update],或者被delete了的数据 3.如何将数据恢复到某个时间点 我 ...
- [小技巧]使用set对列表去重,并保持列表原来顺序
- dpkg: deb包的操作命令
dpkg -i package.deb #安装包 dpkg -r package #删除包 dpkg -P package #删除包(包括配置文件) dpkg -L package #列出与该包关联的 ...
- HDU——1163Eddy's digital Roots(九余数定理+同余定理)
Eddy's digital Roots Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth ...
- Coloring Torus(Atcoder Grand Contest 030 C)
怎么外国都喜欢考脑筋急转弯…… 题意 输入 $k$,要求构造一个 $n\times n$ 的矩阵($n$ 自选),使得恰好用 $k$ 中颜色把每个点都染色,并且同一种颜色的格子周围 相邻的每种颜色数量 ...
- [转] Makefile 基础 (6) —— Makefile 使用条件判断
该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客:(最原始版本) http://blog.csdn.net/haoel/article/details/2886 我转自 ...
- The reference to entity "characterEncoding" must end with the ';' delimiter (Mybatis + Mysql)
数据源配置时加上编码转换格式后出问题了: The reference to entity "characterEncoding" must end with the ';' del ...
- IOs动画的那些事儿
CoreAnimation介绍 1:Core Animation是直接作用在CALayer上的(并非UIView上)非常强大的跨Mac OS X和iOS平台的动画处理API,Core Animatio ...