(微服务)Dubbo 服务调用

Dubbo 服务调用流程笔记

1. Dubbo 简介

  • Dubbo 是高性能的 RPC 框架,允许服务调用者像调用本地方法一样调用远程服务。

  • 核心功能:

    • 服务注册与发现

    • 服务暴露

    • 负载均衡

    • 容错和集群管理

    • 高效的远程调用协议


2. 核心概念

  • Provider(服务提供者):暴露接口供远程调用。

  • Consumer(服务消费者):调用远程服务接口。

  • Registry(注册中心):管理服务列表,实现动态发现。

  • Proxy(代理对象):消费端的代理,调用时封装 RPC 请求。

  • Cluster(集群容错):控制调用失败时的策略,如重试或快速失败。

  • Loadbalance(负载均衡):控制多 Provider 间请求分配方式。


3. 调用流程

  1. Consumer 启动

    • 系统扫描到需要调用的远程服务。

    • Dubbo 生成代理对象并注入到调用端。

  2. 方法调用

    • 调用代理对象方法时,Dubbo 会把调用封装成 RPC 请求。
  3. 服务发现

    • 代理通过注册中心查找可用的 Provider。

    • 如果配置了直连地址,也可以直接访问 Provider。

  4. 远程调用

    • 请求通过网络发送到 Provider。

    • Provider 接收到请求后执行真实方法。

  5. 返回结果

    • Provider 将执行结果或异常返回给 Consumer。

    • 代理对象接收响应并返回给调用方。


4. 部署与特性

  • 同一台机器

    • 可以直接调用本地服务,避免网络开销。
  • 不同机器

    • 通过网络 RPC 调用 Provider,实现服务解耦。
  • 注册中心

    • 动态发现服务,支持负载均衡和容错。
  • Consumer 与 Provider 解耦

    • Consumer 只依赖接口,不依赖实现,适合微服务架构。

5. 常见特性

  • 支持版本和分组管理服务,便于多版本共存。

  • 支持超时和重试机制,增强调用可靠性。

  • 可配置异步调用和容错策略,适应不同业务需求。

  • 支持本地调用优化(inJvm),提高同机调用性能。

  • 支持注册中心直连和服务发现两种方式。

相关推荐
西梅汁几秒前
C++ 设计模式三大类型理解
笔记
野指针YZZ32 分钟前
XV6操作系统:proc机制学习笔记
笔记·学习
Hammer_Hans37 分钟前
DFT笔记37
笔记
鸟电波38 分钟前
硬件笔记——Allegro绘制器件封装和过孔
笔记·嵌入式硬件·智能硬件
西梅汁1 小时前
C++ 策略模式
笔记
小小的代码里面挖呀挖呀挖1 小时前
恒玄BES蓝牙耳机开发--IIC接口应用
笔记·单片机·物联网·学习·iot
abel0041 小时前
《纳瓦尔宝典》笔记
笔记
wb1891 小时前
企业级MySQL重习
数据库·笔记·mysql·adb·云计算
tswowo61 小时前
Markdown笔记
笔记
鬼先生_sir1 小时前
Dubbo:从入门到精通
java·dubbo·springcloud