Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。
主要核心部件:
-
Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制.
-
RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能
-
Registry: 服务目录框架用于服务的注册和服务事件发布和订阅
Dubbo工作原理
-
Provider
-
Consumer
-
Registry
- 服务注册与发现的中心目录服务称之为“服务注册中心”。
-
Monitor
- 统计服务的调用次调和调用时间的日志服务称之为“服务监控中心”。
(1) 连通性:
- 注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小
- 监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示
- 服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销
- 服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销
- 注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外
- 注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者
- 注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表
- 注册中心和监控中心都是可选的,服务消费者可以直连服务提供者
(2) 健状性:
- 监控中心宕掉不影响使用,只是丢失部分采样数据
- 数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务
- 注册中心对等集群,任意一台宕掉后,将自动切换到另一台
- 注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯
- 服务提供者无状态,任意一台宕掉后,不影响使用
- 服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复
(3) 伸缩性:
- 注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心
- 服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者
用户指南:http://code.alibabatech.com/wiki/display/dubbo/User+Guide
开发指南:http://code.alibabatech.com/wiki/display/dubbo/Developer+Guide
下载地址:http://code.alibabatech.com/wiki/display/dubbo/Download
分享到:
相关推荐
基于java的开发源码-服务框架 Dubbo.zip 基于java的开发源码-服务框架 Dubbo.zip 基于java的开发源码-服务框架 Dubbo.zip 基于java的开发源码-服务框架 Dubbo.zip 基于java的开发源码-服务框架 Dubbo.zip 基于java的...
基于Java的服务框架 Dubbo.zip
基于java的服务框架 Dubbo.zip
java源码:服务框架 Dubbo.rar
基于Java的源码-服务框架 Dubbo.zip
基于Java的实例源码-服务框架 Dubbo.zip
Dubbo分布式服务框架入门2
分布式框架dubbo实现生产者提供服务通过zoopkeeper服务实现注册将服务暴露出来供消费者使用的demo
在之前的一个《Java学习之SpringBoot整合SSM Demo》分享中说到搭建ZooKeeper和Dubbo分布式框架中遇到了一些技术问题没能成功,只分享了其中的一个中间产物,那就是大家看到的《Java学习之SpringBoot整合SSM Demo》...
Java rpc框架简易版,类似dubbo分布式实现 (纯socket实现).zip
适用与Java后台开发Dubbo使用者,包括Dubbo的安装和配置、注册中Zookeeper的安装和使用,以及Dubbo监控中心的安装
该资源包含三个微服务工程,api,provider,customer.主要内容有:1、Dubbo框架搭建;2、Spring与Spring MVC集成;3、纯Java提供服务。
在dubbo服务运行过程中,上传正确的java代码文件,自动编译生成class并注册到dubbo zk 中,可以正常dubbo invoke来调用。整个过程服务不用重启。我写了个框架并命名为D-Unit。
Dubbo服务化治理的核心框架,之前几年在国内被广泛使用,后续由于微服务的架构的崛起,更多的公司转向微服务下成熟的技术栈,但是Dubbo本身确实是非常优秀的框架。 常见的应用迭代和升级的过程基本如下: 当应用...
本套视频从分布式系统的基本概念出发,由浅入深,讲解了RPC原理,Dubbo基本使用,Dubbo高可用场景以及Dubbo原理,涉及了分布式系统中服务注册、服务发现、负载均衡、灰度发布、集群容错、服务降级等核心概念的讲解及...
分布式 RPC 框架 Dubbo 1.2.3 分布式架构 当访问量逐渐增大,集群架构的水平扩展所带来的效率提升越来越小。此时可以将项目 拆分成多个功能相对独立的子工程以提升效率。例如用户工程、订单工程、支付工程等。这 种...
这是一个整合了SSM框架+dubbo+zookeeper的java项目,运用到了项目中常用的权限控制,读写分离等技术,是一个学习java技术非常好的项目
本套视频从分布式系统的基本概念出发,由浅入深,讲解了RPC原理,Dubbo基本使用,Dubbo高可用场景以及Dubbo原理,涉及了分布式系统中服务注册、服务发现、负载均衡、灰度发布、集群容错、服务降级等核心概念的讲解及...
dubbo作为一个远程调用框架,虽与同类型的框架,不知道谁优谁劣,但是就公司层面使用来说,还是很棒的。这里简单的写一下怎么使用和调试技巧,就算是作个使用总结吧,供快速使用和问题解决!dubbo是基于spring做配置...