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

Dubbo与SpringCloud的区别和优缺点

经常会有同学问我,Dubbo和SpringCloud的选择。甚至也经常会有面试官就这个问题刨根问底。 说实话,其实我不太喜欢回答这个问题,本质上来讲,Dubbo的SpringCloud可以算是完全不同赛道的两种东西,就好像问大家西瓜和土豆我应该怎么选一样,不过为了让大家在面试时可以更好的回答这个问题,在此我们就分析一下Dubbo和SpringCloud的区别

定义上的区别

Apache Dubbo |ˈdʌbəʊ| 提供了六大核心能力:面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和发现,高度可扩展能力,运行期流量调度,可视化的服务治理与运维。

Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems 。
翻译:springcloud为开发人员提供了快速构建分布式系统中一些常见模式的工具

以上内容均为官方定义,截图如下:


Dubbo官方定义
SpringCloud官方定义

从以上定义中我们不难看出,Apache Dubbo的目标是基于RPC调用为主,并扩展相应的功能。 而SpringCloud是致力于提供分布式服务的各种工具。可以这样讲,Apache Dubbo从概念上讲只相当于SpringCloud中的feign而已。

出发点不同

Apache Dubbo: 诞生于阿里巴巴的线上需求,主要是为了应对微服务场景下高并发的处理,所以Apache Dubbo的核心关注点就是解决微服务之间调用的性能。 并且将包括服务注册/发现、负载均衡等微服务的核心内容进行了集成。最后在核心调用流程稳定的情况下完成了包括本地存根、Mock、版本控制等诸多特性的集成。

SpringCloud: SpringCloud是Spring家族中在微服务领域的关键组成部分,延续了Spring一贯的风格:为大家提供好用的工具,可以屏蔽底层实现,一站式完成业务开发。包括后面的SpringCloud Netflix和SpringCloud Alibaba等都是基于此完成工具的开发。我们可以大概数一数SpringCloud的工具内容,Ribbon【负载均衡】、Feign【HTTP服务】、Hystrix【熔断降级】、Gateway【网关】等等,从其中我们不难发现,SpringCloud对于微服务的调用的性能并不太关心,它更关心的是处理微服务调用以外的内容,虽然他勉为其难的搞了一个Feign,但是我们都知道,HTTP的调用是非常耗时的,它与RPC的调用效率完全不可同日而语。

综上所述:Apache Dubbo的目标是为了高效调用服务。SpringCloud的目标是一条龙解决微服务的治理问题,那么出发点都不同,比较的意义又在哪里呢。

真实工作场景

事实上,目前我接触和了解的互联网大厂的项目里,单纯的使用SpringCloud的非常少。虽然不全是选用Apache Dubbo, 还有包括Thrift、Zero等微服务框架,但是Apache Dubbo的市场占有率会相对比较高,也是很多大厂项目的首选。
但是Apache Dubbo的服务治理其实并不太好用,比如熔断降级、限流等,同时Apache Dubbo还有一个比较麻烦的问题, 就是没有HTTP调用的逻辑,这一点对前后端分离的项目非常不友好。
基于以上内容,其实在实际项目中, Apache Dubbo和SpringCloud相结合才是目前比较主流的使用方式。服务之间的调用使用Apache Dubbo。熔断、网关、限流等使用SpringCloud。尤其是在拥有了SpringCloud Alibaba以后,SpringCloud与Apache Dubbo的结合更加紧密,这才是我个人建议的使用方式。



喜欢的朋友记得点赞、收藏、关注哦!!!

相关文章:

Dubbo与SpringCloud的区别和优缺点

经常会有同学问我,Dubbo和SpringCloud的选择。甚至也经常会有面试官就这个问题刨根问底。 说实话,其实我不太喜欢回答这个问题,本质上来讲,Dubbo的SpringCloud可以算是完全不同赛道的两种东西,就好像问大家西瓜和土豆我…...

★ C++进阶篇 ★ 多态

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;我将继续和大家一起学习C进阶篇第二章----多态 ~ ❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️ 澄岚主页&#xff1a;椎名澄嵐-CSDN博客 C基础篇专栏&#xff1a;★ C基础篇 ★_椎名澄嵐的博客-CSDN博客 …...

pg入门3—详解tablespaces2

pg默认的tablespace的location为空&#xff0c;那么如果表设置了默认的tablespace&#xff0c;数据实际上是存哪个目录的呢? 在 PostgreSQL 中&#xff0c;如果你创建了一个表并且没有显式指定表空间&#xff08;tablespace&#xff09;&#xff0c;或者表空间的 location 为…...

python 爬虫 selenium 笔记

todo 阅读并熟悉 Xpath, 这个与 Selenium 密切相关、 selenium selenium 加入无图模式&#xff0c;速度快很多。 from selenium import webdriver from selenium.webdriver.chrome.options import Options# selenium 无图模式&#xff0c;速度快很多。 option Options() o…...

git分支管理的一些常用规范

一、分支命名规范 1.通常项目经理或者需求方会给需求开发做计划&#xff0c;约定一些编码&#xff0c;例如FN-01。此时这个需求指派给你&#xff0c;这个时候你可以在现有代码仓库的maser分支或者其他约定的开发分支checkout到本地&#xff0c;命名这个需求的开发分支为feat/F…...

GPT-4论文阅读

GPT-4 Technical Report论文阅读 文章目录 GPT-4 Technical Report论文阅读 Abstract训练的稳定性Training processPredictable scaling训练的稳定性多么难能可贵 Capabilities考试成绩传统的benchmark语言方面的能力Visual inputsSteerability LimitationsRisks & mitigat…...

this 指向

this 指向谁? 多数情况下,this 指向调用它所在方法的那个对象。 说得更通俗点,谁调的函数,this 就归谁。当调用方法没有明确对象时,this 就指向全局对象。在浏览器中,指向 window;在 Node 中,指向 Global。(严格模式下,指向 undefined) this 的指向是在调用时决定的…...

【贪心算法】贪心算法一

贪心算法一 1.柠檬水找零2.将数组和减半的最少操作次数3.最大数4.摆动序列 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&#x1f603; 1.柠檬水找零 题目…...

windnd.hook_dropfiles中的create_buffer值太小无法拖放长文件名

今天在使用我之前的Python识别拖放的PDF文件再转成文本文件-CSDN博客发现&#xff0c;文件藏在路径太深入的地方&#xff0c;不能打开&#xff0c;因为拖放文件只能读取260个字节的文件名&#xff08;b’路径&#xff09;&#xff0c;再查看windnd.hook_dropfiles函数&#xff…...

Gitlab runner的使用示例(二):Maven + Docker 自动化构建与部署

Gitlab runner的使用示例&#xff08;二&#xff09;&#xff1a;Maven Docker 自动化构建与部署 在本篇文章中&#xff0c;我们将详细解析一个典型的 GitLab CI/CD 配置文件&#xff08;gitlab-ci.yml&#xff09;&#xff0c;该文件主要用于通过 Maven 构建 Java 应用&…...

QNX Hypervisor(十)Linux Guest IPC 二

上文还遗留了一个问题,就是在测试ipc的时候挂死了。相关原理我写在了另外一篇文章。 内存管理 所以导致挂死的问题就是因为没有进行地址映射,mmu无法转换。从kernel代码看,只有ram区域才会进行映射。我们的qvmconf文件也确实没有配置0xb8000000,只配置了pass。 pass loc …...

怎样把PPT上顽固的图标删了

例如&#xff1a; 解决&#xff1a; 首先打开下载好的PPT模板&#xff0c;然后在视图选项卡里面找到幻灯片母版。 进入幻灯片母版后&#xff0c;找到第一页母版页就会看到LOGO了&#xff0c;这时使用鼠标就可以选中删除啦。...

【论文阅读】Slim Fly: A Cost Effective Low-Diameter Network Topology 一种经济高效的小直径网络拓扑

文章目录 Slim Fly: A Cost Effective Low-Diameter Network Topology文章总结1. 摘要2. indroduction3. 主要工作 主要思想references Slim Fly: A Cost Effective Low-Diameter Network Topology Slim Fly&#xff1a;一种经济高效的小直径网络拓扑 SC’14 Maciej Besta 苏…...

Prometheus使用Pushgateway推送数据

Pushgateway简介 Prometheus 的 Pushgateway 是一个简单的 HTTP 服务器&#xff0c;它允许数据被推送到该服务器&#xff0c;而不是通过拉取的方式获取。它的存在是为了让临时和批处理作业能够将其指标暴露给 Prometheus。由于这类作业可能存在的时长不足以被主动抓取&#xf…...

【Oracle】调优与oracle最大连接数配置

博主介绍&#xff1a; 大家好&#xff0c;我是想成为Super的Yuperman&#xff0c;互联网宇宙厂经验&#xff0c;17年医疗健康行业的码拉松奔跑者&#xff0c;曾担任技术专家、架构师、研发总监负责和主导多个应用架构。 技术范围&#xff1a; 目前专注java体系&#xff0c;DDD&…...

Unity教程(十六)敌人攻击状态的实现

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程&#xff08;零&#xff09;Unity和VS的使用相关内容 Unity教程&#xff08;一&#xff09;开始学习状态机 Unity教程&#xff08;二&#xff09;角色移动的实现 Unity教程&#xff08;三&#xff09;角色跳跃的实现 Unity教程&…...

​图像超分辨率(ISR)​

图像超分辨率&#xff08;Image Super-Resolution, ISR&#xff09;是一种图像处理技术&#xff0c;旨在通过软件算法从低分辨率的图像中重建出高分辨率的图像。这种技术对于改善图像质量、增加细节清晰度等方面非常重要&#xff0c;特别是在图像放大、卫星成像、医学成像和视频…...

园区网基础组网保姆级(mstp,vrrp,irf,eth-trunk,route-policy,ospf,bgp,rbm,nat,mlag等等)

本文实验使用模拟器:H3C HCL 5.10.2版本 一、园区核心/接入架构1.1.三层架构1.2.二层架构二、园区核心 To 接入实践2.1.MSTP+VRRP派系2.1.1.MSTP+VRRP配置2.1.2.MSTP+VRRP验证2.2.IRF+Eth-Trunk派系2.2.1.IRF+Eth-Trunk配置2.3.两种派系的对比2.4.VXLAN结构三、园区核心/出口架…...

大数据技术原理与应用

第一章、大数据概述 1、大数据时代的特征&#xff0c;并结合生活实例谈谈带来的影响。 &#xff08;一&#xff09;特征 1、Volume 规模性&#xff1a;数据量大。 2、Velocity高速性&#xff1a;处理速度快。数据的生成和响应快 摩尔定律&#xff1a;每两年&#xff0c;数…...

《黑神话悟空》开发框架与战斗系统解析

本文主要围绕《黑神话悟空》的开发框架与战斗系统解析展开 主要内容 《黑神话悟空》采用的技术栈 《黑神话悟空》战斗系统的实现方式 四种攻击模式 连招系统的创建 如何实现高扩展性的战斗系统 包括角色属性系统、技能配置文件和逻辑节点的抽象等关键技术点 版权声明 本…...

YOLOv11桌面应用实战:PyQt5打造智能监控与目标追踪系统

1. YOLOv11与PyQt5的强强联合 在计算机视觉领域&#xff0c;YOLO系列模型一直以其实时性和准确性著称。最新发布的YOLOv11在保持原有优势的基础上&#xff0c;进一步优化了模型结构和训练策略&#xff0c;使其在小目标检测和复杂场景下的表现更加出色。而PyQt5作为Python生态中…...

形式验证实战:5个降低状态空间复杂度的黑科技(附内存控制器案例)

形式验证实战&#xff1a;5个降低状态空间复杂度的黑科技&#xff08;附内存控制器案例&#xff09; 在芯片设计领域&#xff0c;形式验证&#xff08;Formal Verification, FV&#xff09;正逐渐成为确保设计正确性的重要手段。然而&#xff0c;随着设计复杂度的提升&#xff…...

直方图均衡化:从理论到实践——MATLAB代码实现与效果对比

1. 直方图均衡化基础概念 直方图均衡化是数字图像处理中最基础也最实用的技术之一。简单来说&#xff0c;它就像给照片做了一次"智能美颜"&#xff0c;能够自动调整图像的对比度&#xff0c;让暗部更清晰、亮部更细腻。想象一下你拍摄了一张背光的人像照片&#xff0…...

个人简介及未来展望

前言&#xff08;自我介绍&#xff09;&#xff1a;各位浏览者&#xff0c;大家好&#xff1a;我是来自辽宁工程技术大学 电气与控制工程学院 自动化专业的大一新生王阔遒&#xff0c;现在也就是2026年4月5日&#xff0c;我开始书写我的人生第一篇博客&#xff0c;我对编程有着…...

ADC类型解析与选型指南:从闪存到ΔΣ

1. ADC基础概念与核心原理在电子系统中&#xff0c;模拟信号到数字信号的转换&#xff08;ADC&#xff09;是实现物理世界与数字世界交互的关键桥梁。作为一名嵌入式开发者&#xff0c;我经常需要根据项目需求选择不同类型的ADC拓扑结构。让我们先拆解ADC的核心工作机制。ADC转…...

二十载面香溢加州:鲁味居(101 Noodle Express)的北美餐饮进阶启示录

近日&#xff0c;南加州知名中餐地标品牌“鲁味居&#xff08;101 Noodle Express&#xff09;”正式迎来创立二十周年。在竞争激烈的北美餐饮市场&#xff0c;该品牌凭借对中国纯正传统面食与非遗卤味技艺的坚守&#xff0c;不仅确立了其在海外华人圈层的核心地位&#xff0c;…...

2025届学术党必备的六大AI论文助手解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek DeepSeek身为人工智能写作工具&#xff0c;于学术论文撰写里能够起到辅助方面的作用&#xf…...

第25课:让 Qt 从 GPIO 子系统一路进阶到平台驱动与设备树控制

本节路线图 为什么这一课要把三种GP → 先从GPIO子系统开始: → 再进一步:平台驱动让LE 小猫提醒 这节有分区、烧录或删除类操作,先确认盘符和路径,再按回车。 猫头鹰提示 编译前先对齐目标架构和工具链名字,别让主机程序和板卡程序搞混。 上一课我们已经把 Qt 和字符驱动…...

光学工程师进阶指南:从入门到精通的实战路径

1. 光学工程师的职业发展路径 光学工程师的成长就像搭积木&#xff0c;需要从最基础的模块开始&#xff0c;一层层往上搭建。我刚入行时也走过不少弯路&#xff0c;后来才明白这个职业的发展是有明确路径的。一般来说&#xff0c;我们可以把成长过程分为三个阶段&#xff1a;初…...

比话降AI实测:AI率87%的论文降到11%全程记录

这篇是比话降AI的真实使用记录&#xff0c;不是广告软文&#xff0c;是我帮朋友处理论文的完整过程。 朋友的情况&#xff1a;研究生论文&#xff0c;4.2万字&#xff0c;知网AIGC检测87%&#xff0c;距离提交截止7天。 为什么选比话降AI 比话降AI&#xff08;www.bihuapass…...