2024年6月1日发(作者:)

dubbo rpc调用流程

Dubbo RPC调用流程

Dubbo是一种基于Java的高性能远程过程调用(RPC)框架,它提

供了诸如服务注册、服务发现、负载均衡、认证授权(鉴权)、故障

容错、监控等功能,以及SOA(Service-Oriented Architecture)

方式的架构设计,能够帮助开发者更加快速和可靠的实现分布式系统。

1.客户端请求

客户端首先会根据注册中心的地址,HTTP/HTTPS也是可以的,

发起请求,并向注册中心发送消费者信息,同时也把服务接口

(Interface)、方法(Method)和参数(Arguments)等信息发送到

注册中心。

2.服务发现

当客户端发起请求,注册中心会从自己的服务库(Service

Repository)中搜索服务提供者(Service Provider),并通过

HTTP/HTTPS协议将服务提供者的地址(URL)发送给客户端。

3.客户端负载均衡

客户端收到服务提供者地址,然后使用负载均衡算法,根据响应

时间、服务器负载等因素,决定调用哪个提供者的服务。

4.客户端发送 RPC 调用请求

客户端根据之前的负载均衡策略,决定调用哪个服务提供者的服

务,将接口、方法、参数等信息发送到服务提供者,同时也通过

HTTP/HTTPS协议将结果返回给客户端。

- 1 -

5.服务提供者处理

服务提供者收到客户端的请求,根据调用的接口,调用服务提供

者实现的方法,进行实际的处理,并将处理结果返回给客户端。

6.客户端接收处理结果

客户端收到服务提供者的返回结果,根据返回值判断本次调用是

否成功,如果成功,则将处理结果返回给应用,如果失败,则会重新

发起请求。

- 2 -