前言
为什么Dubbo说自己性能高?
高性能要从底层的原理说起,既然是一个RPC框架,主要干的就是远程过程(方法)调用, 那么提升性能就要从最关键、最耗时的两个方面入手:序列化和网络通信。
序列化:我们学习 Java 网络开发的时候知道,本地的对象要在网络上传输,必须要实现Serializable 接口,也就是必须序列化。我们序列化的方案很多:xml、json、二进制流…其中效率最高的就是二进制流(因为计算机就是二进制的)。然而Dubbo采用的就是效率最高的二进制。
网络通信:不同于HTTP需要进行7步走(三次握手和四次挥手),Dubbo采用Socket通信机制,一步到位,提升了通信效率,并且可以建立长连接,不用反复连接,直接传输数据
别的RPC框架
gRPC
Thrift
HSF
…
Dubbo的前世今生
dubbo之前一直都作为Alibaba公司内部使用的框架。
2011年,dubbo被托管到了GitHub上(开源)
2014年11月发布2.4.11版本后宣布停止更新。此后一段时间很多公司开源了自己基于Dubbo的变种版本(例如当当网的Dubbo X,网易考拉的Dubbo K)
2017年SpringCloud横空出世Dubbo感觉到压力后连续更新了几个版本2018年1月,阿里公司联合当当网将Dubbo和Dubbo X合并,发布了2.6版本2018年除夕夜阿里将Dubbo贡献给了Apache基金会
2018除夕夜至今,Apache维护和更新Dubbo
- 从基础开始手把手详细讲解了RPC概念,PRC在分布式应用的重要作用。
- Dubbo分布式服务框架的应用入门基础。
- 传统应用到分布式以及微服务的转变思想。
- Dubbo协议的特点。
- Dubbo分布式服务的详细开发流程、Dubbo服务的实施部署,Zookeeper的服务管理等。
dubbo 概述
Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源 Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案、服务治理方案。