Dubbo基础入门介绍

RFC简介

RPC(Remote Procedure Call)远程过程调用协议,是一种用于基于客户端服务器的应用程序的解释通信技术。它也称为子例程调用或功能调用。 客户端具有RPC转换并发送到服务器的请求消息。此请求可以是对远程服务器的过程或函数调用。当服务器收到请求时,它将所需的响应发送给客户端。服务器处理呼叫时,客户端被阻止,并且仅在服务器完成后才恢复执行。

远程过程调用中的事件序列如下:

客户端由客户端调用。 客户端存根对系统调用,将消息发送到服务器并将参数放在消息中。 该消息由客户端的操作系统从客户端发送到服务器。 该消息通过服务器操作系统传递给服务器存根。 服务器存根将参数从消息中删除。 然后,服务器存根调用服务器过程。

流程如下的所示:

Dubbo介绍

Dubbo2021年更新了dubbo3,原理基本一致,但又有些许不同 —->What’s New in Dubbo3

Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口(Dubbo3 应用级服务发现,以应用粒度组织地址数据)的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现,基本工作原理如下图:

Dubbo工作流程

Dubbo支持的负载均衡算法

随机:从多个服务提供者随机选择?个来处理本次请求,调用量越大则分布越均匀,并支持按权重设置随机概率

轮询:依次选择服务提供者来处理请求, 并?持按权重进?轮询,底层采?的是平滑加权轮询算法

最小活跃调用数:统计服务提供者当前正在处理的请求,下次请求过来则交给活跃数最小的服务器来处理

一致性哈希:相同参数的请求总是发到同?个服务提供者

如果你曾歌颂黎明,那么也请你拥抱黑夜

Dubbo基础入门介绍

相关文章:

你感兴趣的文章:

标签云: