Doubbo底层基本原理简单易懂

Dubbo是一款高性能的Java RPC框架,提供接口调用、智能容错、负载均衡等功能。核心组件包括服务提供者(Provider)、服务消费者(Consumer)和服务注册中心(Registry)。本文介绍了Dubbo的基本思想,通过图解和实例解析了其工作原理,并提供了基于Redis和Http的代码实现案例链接。

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

Dubbo

简述

Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

主要模块

Provider

暴露服务方称之为“服务提供者”。

Consumer

调用远程服务方称之为“服务消费者”。

Registry

服务注册与发现的中心目录服务称之为“服务注册中心”。

Monitor

统计服务的调用次数和调用时间的日志服务称之为“服务监控中心”。

RPC框架,使用dubbo之后我们的远程调用就像在调自己模块一样

//服务B中的class
class .. {
   
    //userService远程服务的业务接口类(实际想调用的是服务A中对应接口的实现类方法)
    private UserService userService;
    
    public String getRemoteMSG(String var1) {
   
        String res = userService.getmsg(var1);
    }
}

我们想要这样去使用远程的服务,也就是我们作为消费者在调用的时候完全就跟调用本项目中的方法一样。

实现原理

图解抽象原理

在这里插入图片描述

手写思路

基本思想

前提假设

有两个服务A和B,服务B是提供一些服务,而业务中A需要去调用服务B。

#方案:
#A服务中通过http请求去调用B中的方法,A请求的时候带上要访问的B服务的IP和端口再加上body信息(要调用哪个类的哪个方法携带参数),然后将结果返回给A


#其实最终我们也是要以这种方式去实现的,但是我们可以通过一些手段让这个过程更加好用,更加方便,所以doubbo就是为了干这个事儿。

Provider

#要做的事

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值