当前位置: 首页 > news >正文

【分布式架构】Dubbo是什么?能做什么?

Dubbo简介

Dubbo 是阿里巴巴开源的 高性能 Java RPC(远程过程调用) 分布式服务框架,之前断更过一段时间,目前已捐赠给 Apache 基金会孵化在维护。它主要解决分布式系统中的 远程服务调用负载均衡服务治理 等问题。
简单来说,如果你的系统只是单体应用,不需要 Dubbo;一旦系统进入 分布式/微服务 场景,就会需要类似 Dubbo 的框架来支撑。

核心功能

1. 远程通信

  • 基于 NIO(Netty 实现) 的长连接通信,性能高效。
  • 支持多种序列化方式(Hessian、FastJson 等)。
  • 采用 请求-响应模式调用远程方法就像调用本地方法一样无 API 侵入,只需在配置中声明。

2. 集群容错

  • 内置 软负载均衡(随机、轮询、一致性 Hash、最少活跃数等)。
  • 支持 失败重试、失败转移、失败快速失败 等容错策略。
  • 提供 多协议支持,可在内网中替代传统的硬件负载均衡(如 F5),降低成本并减少单点风险。

对比:

  • Dubbo:随机 + 权重 偏向概率分布(通过随机算法结合权重比例分配请求,不同服务实例可根据权重获得不同的调用概率,从而灵活控制流量分配;例如:服务 A 权重为 1,服务 B 权重为 3,那么 B 的被调用概率约为 75%,A 为 25%;偏向概率分布)
  • Nginx:轮询 + 权重 偏向顺序调度

3. 服务注册与发现

  • 服务启动时自动向 注册中心 注册。
  • 消费者调用服务时,只需通过 服务名 访问,不需要写死 IP 和端口。更加的灵活
  • 注册中心(如 ZooKeeper)保证服务的动态发现与透明化调用。

ZooKeeper 特性:

  • CP 模型:保证强一致性 + 分区容错性。
  • 服务提供者上下线时,消费者能自动感知并调整调用。

4. 协议与性能

  • Dubbo 协议:自定义的二进制协议,体积小、解析快,适合高并发场景。

  • 对比:

    • 二进制协议 → 体积小,无请求头,传输快。
    • 文本协议(如 HTTP) → 请求体大,传输慢。

说明:性能瓶颈大多在 I/O 和循环处理,协议优化带来的提升有限,但在高并发下仍有优势。

三、应用场景

  • 大型电商系统:订单、库存、支付、用户等系统拆分后,通过 Dubbo 调用。

Dubbo 最新版资料参考:
创建基于Spring Boot的微服务应用


文章转载自:

http://cSzdGTMU.bmkqq.cn
http://VKzc7U2I.bmkqq.cn
http://LqHgGgJZ.bmkqq.cn
http://qQhZ8gqI.bmkqq.cn
http://mK817bRz.bmkqq.cn
http://pic3nuJo.bmkqq.cn
http://8HckMojO.bmkqq.cn
http://SuQqkRY2.bmkqq.cn
http://DdHP7eGr.bmkqq.cn
http://3kTxD1Se.bmkqq.cn
http://du41uk0u.bmkqq.cn
http://UzBvRDDL.bmkqq.cn
http://EJZCqBVS.bmkqq.cn
http://BTBgbtHa.bmkqq.cn
http://wFpERKsT.bmkqq.cn
http://XjpdsyyU.bmkqq.cn
http://DFt7ddd8.bmkqq.cn
http://6bJd7QsM.bmkqq.cn
http://tx3PezGG.bmkqq.cn
http://uzvPOwlw.bmkqq.cn
http://rYjB1stH.bmkqq.cn
http://vCO4UXZ7.bmkqq.cn
http://871uTB8B.bmkqq.cn
http://gexKRTJu.bmkqq.cn
http://codIh7fp.bmkqq.cn
http://Be2dgWT7.bmkqq.cn
http://s8es7ABE.bmkqq.cn
http://kpA9RVPz.bmkqq.cn
http://6E9k701A.bmkqq.cn
http://srxxeMqW.bmkqq.cn
http://www.dtcms.com/a/375024.html

相关文章:

  • n1 ARMbian部署Grafana
  • SpringBoot后端基础案例
  • Shiro概述
  • Nginx 服务用户与防盗链配置
  • NV3041A-01芯片屏幕
  • 《京东商品详情爬取实战指南》
  • MySQL数据库的基础
  • 人工智能机器学习——决策树、异常检测、主成分分析(PCA)
  • 企业使用云服务器租用的优势是什么?
  • docker实践(一)
  • args传参
  • Spring Scheduler定时任务实战:从零掌握任务调度
  • NSGA系列多目标优化算法:从理论到实践
  • 从C++开始的编程生活(7)——取地址运算符重载、类型转换、static成员和友元
  • ArcGIS学习-20 实战-县域水文分析
  • Claude Code 平替:OpenAI发布 Codex CLI ,GPT-5 国内直接使用
  • 技术速递|保护 VS Code 免受提示注入攻击
  • JAVA,IOIOIOIOIOIOIOIOIOIOIOIOIOIO
  • xv6 源码精读(一)环境搭建
  • 基于Golang + vue3 开发的 kafka 多集群管理
  • uniapp微信小程序商品列表数据分页+本地缓存+下拉刷新+图片懒加载
  • OSPF特殊区域、路由汇总及其他特性
  • 后端接口防止XSS漏洞攻击
  • Hadoop(十一)
  • 【Linux基础知识系列:第一百二十五篇】理解Linux中的init与systemd
  • iOS原生开发和Flutter开发的看法
  • 【ArkTS-装饰器】
  • XSS漏洞检测和利用
  • Vue3 生命周期函数
  • Flask/Django 生产部署:Gunicorn vs Nginx,Windows 与 Linux 实战指引