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框架,它提供了六大核心功能:
  1. 面向接口代理的高性能RPC调用

  2. 智能容错和负载均衡

  3. 服务自动注册和发现

  4. 高度可扩展能力

  5. 运行期流量调度

  6. 可视化的服务治理与运维


什么是RPC

RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC 协议假定某些传输协议 的存在,如TCP 或 UDP,为通信程序之间携带信息数据。在 OSI 网络通信模型(OSI 七层网 络模型,OSI(Open System Interconnection 开放系统互联)中,RPC 跨越了传输层和应用层。RPC 使得开发包括网络分布式多程序在内的应用程序更加容易。
RPC 采用客户机/服务器模式(即 C/S 模式)。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行


Dubbo的发展历史

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 中存在四大组件:
  • Provider:服务提供者

  • Consumer:服务消费者

  • Registry:服务注册与发现的中心,提供目录服务,亦称为服务注册中心

  • Monitor:统计服务的调用次数、调用时间等信息的日志服务,并可以对服务设置权限、降级处理等,称为服务管控中心


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