未完待整理

简介

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

本地调用和远程调用过程区别如下:

image.png

RPC框架介绍

框架按照功能可以分为下面几个部分:

  1. 服务消费者
  2. 服务提供者
  3. 服务注册中心

服务消费者

  1. 服务消费者 调用框架提供的远程方法并且传入参数,框架会从远端 **服务注册中心** 获取对应可以用的**服务提供者** 信息,按照 **约定的通讯协议** 进行连接,然后将参数按照 **约定的序列化规则** 进行处理和传输,完成远程过程调用。
  2. 这里需要注意一点,由于服务提供者一般都是集群化部署,所以 服务注册中心 可能返回多个服务提供者信息,所有 服务消费者 需要有一定的 调度策略 完成负载均衡

服务注册中心

   需要能让 服务提供者 能够完成服务注册,能让 服务消费者 能够获取对应方法的 服务提供者 信息,还需要具备服务检查功能,剔除无法正常使用的 服务提供者 信息。

   一般还会具备配置中心功能,将配置集中化处理,动态通知订阅者

服务提供者

  在服务启动的时候能够向 **服务注册中心** 完成方法注册,使 **服务消费者** 能够获得对应方法的连接信息,**服务消费者** 可以使用 **约定的通讯协议** 进行远程连接,并且可以按照 **约定的反序列化规则** 将参数进行解析,完成对应对应的远程调用。

 还需要提供监控检查接口,能够让 **服务注册中心** 定时进行监控检查。

Dubbo 介绍

    面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和发现,高度可扩展能力,运行期流量调度,可视化的服务治理与运维

架构

image.png