首页主机dubbo原理(什么是dubbo)

dubbo原理(什么是dubbo)

编程之家2024-04-2185次浏览

一、dubbo异步转同步原理

Dubbo是一款开源的RPC中间件框架,底层数据传输默认使用的Netty,那么请求的处理理论上是异步的。

dubbo原理(什么是dubbo)

异步转同步原理:

1、调用方请求远程服务之后,需要等待结果,此刻,请求线程应该阻塞。

2、远程服务返回结果后,唤醒请求线程,调用方得到结果:Dubbo异步转同步,核心类是DefaultFuture,核心方法是get(),received(Channelchannel,Responseresponse)。

二、dubbo线程池原理及源码

DUBBO提供五种线程模型

all所有消息都派发到业务线程池,包括请求,响应,连接事件,断开事件,心跳

direct所有消息都不派发到业务线程池,全部在IO线程直接执行

dubbo原理(什么是dubbo)

message只有请求响应消息派发到业务线程池,其它连接断开事件,心跳等消息直接在IO线程执行

execution只有请求消息派发到业务线程池,响应和其它连接断开事件,心跳等消息直接在IO线程执行

connection在IO线程上将连接断开事件放入队列,有序逐个执行,其它消息派发到业务线程池

三、dubbo原理深度解析

dubbo原理和机制:

Dubbo是一个高性能优秀的服务框架,它使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成。

Dubbo是一款高性能、轻量级的开源JavaRPC框架。

dubbo原理(什么是dubbo)

它提供了三大核心能力:

1、面向接口的远程方法调用;

2、智能容错和负载均衡;

3、服务自动注册和发现。

注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。

监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示。

服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销。

服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销。

好用的播放器,播放器十大排名java程序员面试宝典 java开发工程师面试