我上次在写“放弃Dubbo,选择最流行的Spring Cloud微服务架构实践与经验总 结”这篇文章的时候,就有很多的网友给我留言说,Dubbo 又开始更新了。
我当然是清楚的,我也一直在关注着 Dubbo 的走向,在几个月前技术圈里面就有一个消息说是 Dubbo 又开始更新了,大家议论纷纷不知真伪。
我还专门跑到 GitHub 上面进行了留言询问,最后在 Dubbo 的 gitter 聊天室里面找到了确信的答案,说是正在组建团队。
虽然稍稍有所期待,但也不知道阿里这次拿出了多少的诚意来做这件事,于是我昨天又到 GitHub 逛了一下,发现从 9 月开始,阿里三个月连着发布了四个版本,还是非常有诚意的,值得关注。
Dubbo 简介
Dubbo 是阿里巴巴公司一个开源的高性能服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案,使得应用可通过高性能 RPC 实现服务的输出、输入功能和 Spring 框架无缝集成。
Dubbo 包含远程通讯、集群容错和自动发现三个核心部分。它提供透明化的远程方法调用,实现像调用本地方法一样调用远程方法,只需简单配置,没有任何 API 侵入。
同时它具备软负载均衡及容错机制,可在内网替代 F5 等硬件负载均衡器,降低成本,减少单点。
它可以实现服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的 IP 地址,并且能够平滑添加或删除服务提供者。
2011 年末,阿里巴巴在 GitHub 上开源了基于 Java 的分布式服务治理框架 Dubbo,之后它成为了国内该类开源项目的佼佼者,许多开发者对其表示青睐。
同时,先后有不少公司在实践中基于 Dubbo 进行分布式系统架构。目前在 GitHub 上,它的 fork、star 数均已破万。
Dubbo 核心功能:
-
远程通讯,提供对多种基于长连接的 NIO 框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
-
集群容错,提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
-
自动发现,基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。
Dubbo 发展史
发展到开源
2008 年底在阿里内部开始规划调用,2009 年初开发 1.0