分布式 RPC 服务框架 Apache Dubbo

分布式 RPC 服务框架 Apache Dubbo

Apache
Java 查看源码»
跨平台
阿里巴巴
2011-10-21
dubbo

Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。

主要核心部件:

  • Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制

  • RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能

  • Registry: 服务目录框架用于服务的注册和服务事件发布和订阅

Dubbo 工作原理

  • Provider

    • 暴露服务方称之为“服务提供者”

  • Consumer

    • 调用远程服务方称之为“服务消费者”

  • Registry

    • 服务注册与发现的中心目录服务称之为“服务注册中心”

  • Monitor

    • 统计服务的调用次调和调用时间的日志服务称之为“服务监控中心”

(1) 连通性:

  • 注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小

  • 监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示

  • 服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销

  • 服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销

  • 注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外

  • 注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者

  • 注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表

  • 注册中心和监控中心都是可选的,服务消费者可以直连服务提供者

(2) 健状性:

  • 监控中心宕掉不影响使用,只是丢失部分采样数据

  • 数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务

  • 注册中心对等集群,任意一台宕掉后,将自动切换到另一台

  • 注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯

  • 服务提供者无状态,任意一台宕掉后,不影响使用

  • 服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复

(3) 伸缩性:

  • 注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心

  • 服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者

的码云指数为
超过 的项目
加载中

评论(46)

Z
ZephyrShannon
健“壮”性 ,不是健 “状” 性
B
BugMeYep

引用来自“lala_”的评论

是不是跟spring cloud 一样的东西,没用过dubbo,看介绍是差不多功能!
是的。(没用过spring cloud
lala_
lala_
是不是跟spring cloud 一样的东西,没用过dubbo,看介绍是差不多功能!
T
ThunderCollect
2.6.0的 dubbo-admin哪去了?
理工男海哥
理工男海哥
估计,#Dubbo# 要捐给Apache了
JavaSon712
JavaSon712
vue.js火变全球,还有个中文的官网,#Dubbo#,#Druid#装的是什么逼
灬仒
灬仒
我有jar包可以发给你
格勒弗特
格勒弗特
怎么下载呀?求指点
漠_然
漠_然
你尽管更新,再用算我输 #Dubbo#
j
java僵尸
阿里重新开始维护了,最近版本修复了很多之前的遗留问题,很赞!

Dubbo Metrics 发布新版本 2.0.1 | Dubbo 的度量统计基础设施

对服务进行实时监控,了解服务当前的运行指标和健康状态,是微服务体系中不可或缺的环节。Metrics 作为微服务的重要组件,为服务的监控提供了全面的数据基础。近日,Dubbo Metrics 发布了2.0...

Dubbo 生态添新兵,Dubbo Admin 发布 v0.1

为了提升 Dubbo 里程碑版本2.7.0的使用体验,我们于去年年中启动了 Dubbo Admin 的重构计划,并作为Dubbo生态的子项目,于近期发布了v0.1,重构后的项目在结构上的变化如下: 将后端框架从W...

里程碑 | Apache Dubbo 发布 v2.7.0

Dubbo 2.7.0 围绕异步支持优化、元数据改造,支持配置中心,路由规则优化和引入JDK8的特性等方面提升服务调用和服务治理的效率,以及可扩展性。经过社区投票,该版本已于近日发布。 一、新特...

Dubbo 2.7.0 发布,分布式 RPC 服务框架

Dubbo 2.7.0 发布。Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。 据开源中国对 Dubbo 的项目...

01/18 07:47

Dubbo 2.6.5 发布,里程碑版本 2.7.0 前哨

在下一个里程碑版本2.7.0中,Dubbo 将围绕 异步支持优化、元数据改造,支持配置中心,路由规则优化和引入JDK8的特性等方面提升服务调用和服务治理的效率,以及可扩展性。此外还会增强一些功能...

2018/11/27 11:09

Apache Dubbo 2.6.5 发布,分布式 RPC 服务框架

Apache Dubbo 2.6.5 已发布,包含功能改进、新特性、bug 修复和性能优化。 Enhancements / Features: 重构 @service 的 BeanName 的生成规则 #2235 为 ServiceBean 的导出引入新的 Spring A...

2018/11/23 15:48

Dubbo 2.6.4 发布,分布式 RPC 服务框架

Dubbo 2.6.4 已发布,包含功能改进、新特性、bug 修复和性能优化。 Enhancements / Features Support access Redis with password, #2146 Support char array for GenericService, #2137 Dir...

2018/10/15 14:28

Dubbo 2.6.3 正式版发布,分布式 RPC 服务框架

Dubbo 2.6.3 正式版发布了,带来了功能增强、新特性、bug 修复、性能优化和 Hessian-lite。 功能增强/新特性 Support implicit delivery of attachments from provider to consumer, #889 S...

2018/09/13 17:06

没有更多内容

加载失败,请刷新页面

1
回答
DubboShutdownHook 与 springboot 中SpringApplication registerShutdownHook 冲突

主要版本: springboot 1.3.6.RELEASE; spring-context 4.2.7.RELEASE; spring-test 4.2...

2017/07/28 12:14
5
回答
一个工作4年的小猴子的小经验

第一年工作的时候吧,什么都不懂,纯搞页面,后台也接触一些,慢慢时间久了,就感觉特迷茫,我应该做什么,那个方向,深或者广。 呆了一年去了第二家,这里开始使用...

03/19 19:36
4
回答
一个工作4年的小猴子的小经验

第一年工作的时候吧,什么都不懂,纯搞页面,后台也接触一些,慢慢时间久了,就感觉特迷茫,我应该做什么,那个方向,深或者广。 呆了一年去了第二家,这里开始使用...

03/19 12:53
3
回答
dubbo的oninvoke问题

学习dubbo的事件通知,知道使用配置属性oninvoke 、 onreturn 、 onthrow。 这是XML的配置 <!-- 事件函数 --...

2018/09/02 11:33
2
回答
关于微服务的一点想法和问题?

如题:现在在3家公司使用过微服务了 第一家:最初是使用 web端调用 dubbo, 后边我使用了,dubbo间互相引用,公司较小,无法体现出来优势 第二家...

02/03 11:33
1
回答
运维需要给不同业务划分不同网段么?

有幸搭建公司生产环境服务器及网络拓扑,但是只有想法没有实践过还望各位大牛指点一二。 我的想法是为每种业务分配不同的网段,目的是方便管理及简单的隔离如限制某...

02/27 10:20
56
回答
2018 年度最受欢迎中国开源软件 TOP20 正式揭晓

11月12日,由开源中国主办,蒲公英协办的“2018 年度最受欢迎中国开源软件评选”活动正式上线。经过 21 天的投票决选,「2018 年度最受欢迎中国开...

2018/12/06 08:03
1
回答
【一周】GitHub 限制 deepfake 访问,技术无罪?

回顾一周社区热门资讯 第【十四】期:20190216-20190222 WinRAR 曝出代码执行漏洞,你的官方中文无广告版该升级了 该漏洞使得攻击者可通...

02/22 16:50
27
回答
Dubbo 重启维护一年多,现在还活着吗?

Dubbo 去年宣布重启维护,到现在已经一年有余,当初重启的消息在开发者中引起了强烈的反响,很多人看好,也有人持怀疑的态度,甚至到今天,还是有不少人认为 ...

01/10 15:07
17
回答
北上广的程序员,达到多少薪资才敢买房?

由于目前行业环境以及生存所迫,作为北上广深的程序员,不得不首先考虑两件事: “我真的决定扎根在这儿吗?” “我真的买得起这儿的房吗?” 【房价,是爱恨情仇...

01/04 14:57

没有更多内容

加载失败,请刷新页面

dubbo源码学习笔记----整体结构

## dubbo核心包 ### config - dubbo-config-api - dubbo-config-spring ### remoting - dubbo-remoting-netty - dubbo-remoting-netty4 - dubbo-remoting-mina - dubbo-remoting-grizzly - d...

2018/01/13 17:27
169
0
跟我学习dubbo-Dubbo监控中心的介绍与简易监控中心的安装(7)

Dubbo 监控中心的介绍与简易监控中心的安装 Dubbo 服务提供者和服务消费者中的 spring 配置文件中增加以下配置 Dubbo 简易监控中心的配置解释(不需要修改,使用默认配置) 重新启动 dubbo-...

2016/01/12 01:52
1K
2
史上最全 40 道 Dubbo 面试题及答案,看完碾压面试官!

想往高处走,怎么能不懂 Dubbo? Dubbo是国内最出名的分布式服务框架,也是 Java 程序员必备的必会的框架之一。Dubbo 更是中高级面试过程中经常会问的技术,无论你是否用过,你都必须熟悉。 ...

2018/10/02 10:16
384
0
Spring Boot与Dubbo集成

本文主要介绍了springboot如何与rpc框架dubbo集成,构建微服务

2016/12/13 21:38
235
0
dubbo 应用 笔记-------多个application name冲突问题

一个web应该项目 引用多个dubbo服务时 多个 <dubbo:application name报错 情景: Web项目A Dubbo接口服务B Dubbo接口服务C A引用B和C 这时候 因为 B中配置: <dubbo:application id="testBDub...

2013/06/13 10:01
3.1K
0
dubbo入门

前言 dubbo作为当今微服务盛行的两大主流微服务框架之一,是阿里巴巴的开源项目之一,相对于spring cloud,有更好的中文文档支持。虽然之前有段时间dubbo处于维护荒废的阶段,但是这两年交给...

2018/08/12 00:21
62
1
Dubbo (二) ——- 项目结构解析

本文主要说明点 概述 背景 需求 架构 Dubbo源代码项目结构 概述 分享 Dubbo 的项目结构 ,通过本文可以大致了解到Dubbo整个项目的结构 背景 将一个项目进行拆分, 进行分布式架构。 需要解决...

2018/10/16 15:49
625
1
简单spring和dubbo整合

首先新建两个web项目,并添加相关jar包。<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSche...

2016/11/07 16:22
204
0
Dubbo与Zookeeper、SpringMVC整合和使用

Dubbo与Zookeeper、SpringMVC整合和使用

2016/06/16 23:04
5.2K
4
spring boot整合dubbo

github: https://github.com/Athlizo/spring-dubbo-parent 码云: https://git.oschina.net/null_584_3382/spring-dubbo-parent 相关文档: Spring Dubbo 开发笔记(一)——概述: Spring D...

2017/03/01 00:45
1K
2

没有更多内容

加载失败,请刷新页面

返回顶部
顶部