1. Hello,Dubbo
你好,dubbo,初次见面,我想和你交个朋友。
1.1.1. Dubbo你到底是什么?
先给出一套官方的说法:Apache Dubbo是一款高性能、轻量级基于Java的RPC开源框架。
1.1.2. 那么什么是RPC?
文档地址:http://dubbo.apache.org/zh-cn/docs/user/preface/background.html
文档简短形象的对单一应用架构、垂直应用架构、分布式服务架构、流动计算架构做了一个对比,可以很明白的看出这四个架构所适用的场景,因为业务需求越来越复杂,才会有这一系列的演变。
RPC英文全名为Remote Procedure Call,也叫远程过程调用,其实就是一个计算机通信协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。计算机通信协议有很多种,对于开发来说,很多熟悉的是HTTP协议,我这里就做个简单的比较,HTTP协议是属于应用层的,而RPC跨越了传输层和应用层。HTTP本身的三次握手协议,每发送一次请求,都会有一次建立连接的过程,就会带来一定的延迟,并且HTTP本身的报文庞大,而RPC可以按需连接,调用结束后就断掉,也可以是长链接,多个远程过程调用共享同一个链接,可以看出来RPC的效率要高于HTTP,但是相对于开发简单快速的HTTP服务,RPC服务就会显得复杂一些。
回到原先的话题,继续来聊聊dubbo。关于dubbo 的特点分别有连通性、健壮性、伸缩性、以及向未来架构的升级性。特点的详细介绍也可以参考上述链接的官方文档。官方文档拥有的内容我在这就不一一进行阐述了。
因为接下来需要对dubbo各个模块的源码以及原理进行解析,所以介绍一下dubbo的源码库,dubbo框架已经交由Apache基金会进行孵化,被挂在github开源。
github地址:https://github.com/apache/dubbo
然后讲一下dubbo的版本策略:
两个大版本并行发展,2.5.x是稳定版本,2.6.x是新功能实验版本。2.6上实验都稳定了以后,会迁移到2.5,所以如果你想了解dubbo最新的牛逼特性,就选择2.6,否则用2.5版本。我接下来介绍都是基于2.6.x版本。
1.1.3. dubbo框架源代码解析系列
Dubbo源码解析(二十八)远程调用——memcached协议
Dubbo源码解析(三十三)远程调用——webservice协议
Dubbo源码解析(三十六)集群——configurator
从2.7.0-2.7.5版本,Dubbo调用链路是如何提升30%性能的
Congratulations Apache® Dubbo™ as a TLP
-
作者:加点代码调调味
-
链接:https://segmentfault.com/u/crazyhzm
-
来源:SegmentFault 思否
-
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。