(微服务)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),提高同机调用性能。

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

相关推荐
AAA代码批发商43 分钟前
DAY43 ARM 体系结构学习笔记|嵌入式入门,从硬件组件到流水线、内存与栈帧
arm开发·笔记·学习
彧azz1 小时前
初学Unity:编辑器
笔记·学习·unity·游戏引擎
江湖人称菠萝包1 小时前
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter11-PE文件格式深入剖析
windows·笔记
步行cgn2 小时前
Spring 注入内部 Bean 详解
java·spring·rpc
问心无愧05132 小时前
ctf show web53
笔记
qeen872 小时前
【Linux】操作系统之进程介绍(一)
linux·笔记·学习·进程
八年。。2 小时前
WSL学习(三)——搭建Linux + C++ + SOME/IP 基础开发环境
开发语言·笔记·ubuntu
M78佐菲12 小时前
51单片机学习笔记:ds18b20要点整理
linux·笔记·嵌入式硬件·学习·51单片机
蒸蒸yyyyzwd14 小时前
从面经中学到的三件事
c++·笔记
IT小白杨16 小时前
社媒多账号运营的环境隔离:一张图谱模型,解释清“为什么换IP还是被连坐“
经验分享·笔记·矩阵·指纹浏览器