简介
Dubbo 是一个 RPC 框架,目的是让使用者像在本地过程调用一样,舒适的进行远程过程调用,解决远程过程调用遇到的各种问题。
本地调用和远程调用过程区别如下:

RPC框架介绍
框架按照功能可以分为下面几个部分:
- 服务消费者
- 服务提供者
- 服务注册中心
服务消费者
服务消费者 调用框架提供的远程方法并且传入参数,框架会从远端 **服务注册中心** 获取对应可以用的**服务提供者** 信息,按照 **约定的通讯协议** 进行连接,然后将参数按照 **约定的序列化规则** 进行处理和传输,完成远程过程调用。这里需要注意一点,由于服务提供者一般都是集群化部署,所以 服务注册中心 可能返回多个服务提供者信息,所有 服务消费者 需要有一定的 调度策略 完成负载均衡
服务注册中心
需要能让 服务提供者 能够完成服务注册,能让 服务消费者 能够获取对应方法的 服务提供者 信息,还需要具备服务检查功能,剔除无法正常使用的 服务提供者 信息。
一般还会具备配置中心功能,将配置集中化处理,动态通知订阅者
服务提供者
在服务启动的时候能够向 **服务注册中心** 完成方法注册,使 **服务消费者** 能够获得对应方法的连接信息,**服务消费者** 可以使用 **约定的通讯协议** 进行远程连接,并且可以按照 **约定的反序列化规则** 将参数进行解析,完成对应对应的远程调用。
还需要提供监控检查接口,能够让 **服务注册中心** 定时进行监控检查。
Dubbo 介绍
面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和发现,高度可扩展能力,运行期流量调度,可视化的服务治理与运维
架构

