Dubbo概念

先来了解一下RPC

RPC时Remote Procedure Call的缩写 翻译为:远程过程调用

目标时为了实现两台(多台)计算机\服务器,相互调用的方法\通信的解决方案

RPC只是实现远程调用的一套标准

该标准主要规定了两部分内容

1.通信协议

  • 通信协议指的就是远程调用的通信方式
  • 实际上这个方式可以有多种
  • 例如:写信,飞鸽传书,闪送等等
  • 在程序中,通信方式也有多种

2.序列化协议

  • 序列化协议指通信内容的格式,双反都要理解这个格式
  • 消费者和服务提供者发送的信息,一定是双反都可以理解的信息
  • 发送信息就是序列化信息,接收信息就是反序列化
  • 在程序中,序列化的方式也是多种的

什么是Dubbo

Dubbo时一套RPC框架,既然是框架,我们可以在框架结构高度,定义Dubbo中使用的通信协议,使用的序列化框架技术,而数据格式由Dubbo定义,我们负责配置之后直接通过客户端调用服务端代码。

可以说Dubbo就是RPC概念的实现

Dubbo是SpringCloudAlibaba提供的框架

能够实现微服务相互调用的功能

Dubbo的发展历程

2012年底Dubbo停止更新后到2017年Dubbo继续更新之前

2015SpringCloud开始兴起,当时没有阿里的框架

国内公司要从SpringCloud和Dubbo中抉择使用那个微服务方案

在2012年Dubbo停止更新后国内的当当网在Dubbo的基础上开发了dubboX框架,并进行维护

2019年后,SpringCloud和Dubbo才能共同使用

Dubbo对协议的支持

RPC框架分通信协议和序列化协议

Dubbo框架支持多种通信协议和序列化协议,可以通过配置文件进行修改

Dubbo支持的通信协议

  • dubbo协议(默认)
  • rmi协议
  • hessian协议
  • http协议
  • webservice
  • ······

支持的序列化协议

  • hessian2(默认)
  • java序列化
  • compactedjava
  • nativejava
  • fastjson
  • dubbo
  • fst
  • kryo

Dubbo默认情况下,支持的协议有如下特征

  • 采用NIO单一长链接
  • 优秀的并发性能,但是处理大型文件的能力差

Dubbo方便支持高并发和高性能

Dubbo的注册发现流程(面试常见题)

1.首先服务的提供者启动服务时,将自己的具备的服务注册到注册中心,其中包括当前提供者的ip地址和端口号等信息,Dubbo会同时注册该项目提供的远程调用的方法

2.消费者(使用者)启动项目,也注册到注册中心,同时从注册中心获得当前项目具备的所有服务列表

3.当注册中心有新的服务出现时,会通知已经订阅发现的消费者,消费者会更新所有服务列表

4.让RPC调用,消费者需要调用远程方法时,根据注册中心服务列表的信息,只需要服务名称,不需要ip地址和端口号等信息,就可以利用Dubbo调用远程方法了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛老师来巡山~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值