Dubbo原理浅析

一、Dubbo是什么

百度百科(没有什么比度娘知道的更多):Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

个人理解:Dubbo其实就是一集成了RPC原理的服务框架,开发人员可以通过它来使用RPC原理进行高性能的数据请求传输操作,主要是面向接口,支持负载均衡,服务注册(注册中心一般采用Zookeeper),是一款优秀的服务框架

二、Dubbo四个概念词

Provider

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

Consumer

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

Registry

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

Monitor

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

三、dubbo支撑负载均衡的原理

图示如下

图解

1.多个服务提供者将自身提供的服务注册到注册中心,例如(User服务,提供地址为192.168.100.1)。

2.注册中心将提供者的接口存储在自身缓存中。

3.服务消费者去注册中心,根据想要调用的服务的名字,获取服务提供者的地址

4.服务消费者根据地址调用服务提供者提供的服务接口,完成调用。

注意点

服务消费者通过dubbo-Consumer只是从Registry(服务注册中心中获取地址,然后进行连接,并非是注册中心调用接口连接)