首页 > 编程知识 正文

dubbo做什么的,dubbo有什么用

时间:2023-05-04 03:56:58 阅读:231270 作者:1276

1、什么是Dubbo

Dubbo是一个分布式服务框架,Doubbo的产生让我们告别了HTTP+restful和webservice进行服务数据交互的模式,而Doubbo采用的是分布式SOA服务治理方案,通过RPC远程调用服务。

SQA;简单来说是一种服务体系规范,低耦合,根据业务逻辑将服务分割成细小部分分布式部署的服务架构

RPC:一种远程网络服务通讯协议,封装了TCP/IP协议,万平米不用关心底层,而只需要指定IP地址以及端口号,找到我们需要的服务端,得到我们需要的服务。

2、Doubbo的主要功能

远程通讯:提供多种基于长来凝结的NIO框架抽象封装,包括多种线程模型,序列化,以及‘请求‘ ’响应‘ 模式的信息叫唤方式

集体容错:提供基于接口方法的透明远程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集体支持

自动发现:基于注册中心目录服务,使服务消费放能动态的查找服务提供方,使地址透明,使服务提供可以平滑增加或减少机器。

Dobbo架构分层:

服务接口层:service,该层是与实现业务逻辑相关的,根据微服务提供方和服务消费方的业务设计对应接口和实现

配置层(config);对外配置接口,以ServiceConfig为中心,可以直接new配置类,也可以通过spring解析配置生成配置类

服务代理层(Registry):封装服务地址的注册与发现,以服务URL为中心,扩展接口为RegistryFactory、Registry和RegistryService,可能没有服务注册中心,此时服务提供方直接暴露服务

集群层(Cluster):封装多个提供者的路由及负载均衡,并桥接注册中心,以Invoker为中心,扩展接口为Cluster、Directory、Router和LoadBalance。将多个服务提供方组合为一个服务提供方,实现对服务消费方来透明,只需要与一个服务提供方进行交互。

监控层(Monitor):RPC调用次数和调用时间监控,以Statistics为中心,扩展接口为MonitorFactory、Monitor和MonitorService。

远程调用层(Protocol):封将RPC调用,以Invocation和Result为中心,扩展接口为Protocol、Invoker和Exporter。Protocol是服务域,它是Invoker暴露和引用的主功能入口,它负责Invoker的生命周期管理。Invoker是实体域,它是Dubbo的核心模型,其它模型都向它靠扰,或转换成它,它代表一个可执行体,可向它发起invoke调用,它有可能是一个本地的实现,也可能是一个远程的实现,也可能一个集群实现。

信息交换层(Exchange):封装请求响应模式,同步转异步,以Request和 Response为中心,扩展接口为Exchanger、ExchangeChannel、ExchangeClient和ExchangeServer。

网络传输层(Transport):抽象mina和netty为统一接口,以Message为中心,扩展接口为Channel、Transporter、Client、Server和Codec。

数据序列化层(Serialize):可复用的一些工具,扩展接口为Serialization、 ObjectInput、ObjectOutput和ThreadPool。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。