Dubbo相关

本文介绍了Dubbo框架,它是基于Java的高性能开源RPC框架。阐述了RPC概念及作用,说明了Dubbo能实现透明远程调用、服务自动注册发现、负载均衡和容错。还讲解了Dubbo服务实现原理、协议特点,对比长连接和短连接,最后介绍了Dubbo的组件及调用关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 什么是Dubbo?

Dubbo 是一个高性能的、基于 java 的、开源 RPC 框架

2. 什么是RPC?

RPC 是 Remote Procedure Call Protocol ,称为:远程过程调用协议。是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。该协议允许运行于一台计算机的程序调用另一台计算机的程序。程序员无需编为网络交互功能编码。

RPC 的作用?
主要功能是让构建分布式应用更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。在一台计算的程序使用其他计算机上的功能就是使用自己的功能一样。RPC 技术提供了透明的访问其他服务的底层实现细节。使用分布式系统中的服务更加方便。

什么是分布式?
分布式指多台计算机位于网络系统中,形成一个整体对外界提供服务。

3. Dubbo能做什么?

⚫ 实现透明的远程方法调用,就像调用本地方法一样。可以忽略远程调用的实现细节。简
单配置即可使用。
⚫ 服务的自动注册和服务发现。通过注册中心,服务实现动态管理(增减服务方)。调用
服务的消费者无需写死调用地址。
⚫ 软件的负载均衡实现和容错机制,无需使用硬件。降低成本。

4. Dubbo服务的实现原理

Dubbo 的底层实现是动态代理, 由 Dubbo 框架创建远程服务(接口)对象的代理对象,通过代理对象调用远程方法。
在这里插入图片描述

5. Dubbo 协议

dubbu 官方推荐使用 dubbo 协议。dubbo 协议默认端口 20880

A 、Dubbo 协议特点
Dubbo 协议采用 单一长连接异步通讯 ,适合于小数据量大并发的服务调用,以及服务消费
者机器数远大于服务提供者机器数的情况。

B 、网络通信
Dubbo 协议底层网络通信默认使用的是 netty,性能非常优秀,官方推荐使用。

C 、不适合的地方
Dubbo 协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低

D 、使用 Dubbo 协议
<dubbo:protocol name=“dubbo” port=“20880” />

6. 长连接和短连接

Dubbo 协议使用的长连接:
在这里插入图片描述
短连接如下:
在这里插入图片描述
长连接和短连接:
所谓长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发检测包。短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。

长连接多用于操作频繁,点对点的通讯,而且连接数不能太多的情况。例如:数据库的连接用长连接。像 Web 网站的 http 服务一般都用短链接,因为长连接对于服务端来说会耗费一定的资源,而像 Web 网站频繁的使用,用短连接会更省一些资源,并发量大,但每个用户无需频繁操作的情况下用短连接好。

7. Dubbo 的组件

dubbo由五大部分组成:
1、Container:服务运行容器。
2、Provider:暴露服务的服务提供方。
3、Consumer: 调用远程服务的服务消费方。
4、Registry:服务注册与发现的注册中心。
5、Monitor:统计服务调用次调和调用时间的监控中心。

在这里插入图片描述
调用关系说明:
0.start:服务容器负责启动,加载,运行服务提供者。
1.register:服务提供者在启动时,向注册中心注册自己提供的服务。
2.subscribe:服务消费者在启动时,向注册中心订阅自己所需的服务。
3.notify:注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4.invoke:服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5.count:服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

我们做dubbo框架时实际上只需三个部分:提供者,消费者,注册中心

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值