Dubbo基础理论
Posted Alleria Windrunner
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dubbo基础理论相关的知识,希望对你有一定的参考价值。
本篇开始我们来介绍RPC框架Dubbo,首先我们来了解下Dubbo的历史背景和基础概念。
Dubbo简介
Dubbo 官网为 http://dubbo.apache.org。该官网是 Dubbo 正式进入 Apache 开源孵化器 后改的。Dubbo 原官网为:http://dubbo.io 。Dubbo 官网已做过了中英文国际化,用户可在中英文间任何切换。
从官方文档介绍我们可以看到,Apache Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了六大核心功能:
面向接口代理的高性能RPC调用
智能容错和负载均衡
服务自动注册和发现
高度可扩展能力
运行期流量调度
可视化的服务治理与运维
什么是RPC
RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC 协议假定某些传输协议 的存在,如TCP 或 UDP,为通信程序之间携带信息数据。在 OSI 网络通信模型(OSI 七层网 络模型,OSI(Open System Interconnection 开放系统互联)中,RPC 跨越了传输层和应用层。RPC 使得开发包括网络分布式多程序在内的应用程序更加容易。
RPC 采用客户机/服务器模式(即 C/S 模式)。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行
Dubbo的发展历史
2011年开源,之后就迅速成为国内该类开源项目的佼佼者。2011 年时,优秀的、可在生产环境使用的 RPC 框架很少,Dubbo 的出现迅速给人眼前一亮的感觉,迅速受到了开发者的亲睐。
2012 年 10 月之后就基本停止了重要升级,改为阶段性维护。
2014 年 10 月 30 日发布 2.4.11 版本后,Dubbo 停止更新。
2017 年 10 月云栖大会上,阿里宣布 Dubbo 被列入集团重点维护开源项目,这也就意味着 Dubbo 起死回生,开始重新进入快车道。
2018 年 2 月 15 日,大年三十,经过一系列紧张的投票,宣布 Dubbo 正式进入Apache孵化器。
Dubbo的四大组件
Dubbo的版本号
Dubbo 在 2.6.0 及其以前版本时,默认使用的客户端为 zkClient。2.6.1 版本,将默认客户端由 zkClient 修改为 curator。至于 curator 的版本,与 Dubbo 及所要连接的 Zookeeper 的版本有关。目前其支持的版本为 2.x.x 版本,最高版本为 2.13.0。
Dubbo 的使用是基于 Spring 环境下的,即 Dubbo 是依赖于 Spring 框架的。Dubbo2.7.0 依赖的 Spring 是 4.3.16。所以,在 Dubbo 的开发过程中最好使用与该 Spring 版本相同的 Spring, 这样可以避免可能的版本冲突问题。
好了,关于Dubbo的历史背景和基础概念就介绍到这里。
以上是关于Dubbo基础理论的主要内容,如果未能解决你的问题,请参考以下文章
Dubbo 专题(基础篇):Dubbo 介绍环境搭建与实践
Dubbo 专题(基础篇):Dubbo 介绍环境搭建与实践
Dubbo 专题(基础篇):Dubbo 介绍环境搭建与实践
死磕面试 - Dubbo基础知识37问(必须掌握)
Dubbo基础配置
探秘 Dubbo 的度量统计基础设施 - Dubbo Metrics