常见八股面试题:Dubbo 和 Spring Cloud Gateway 有什么区别?

大家好,我是鸭鸭!

此答案节选自鸭鸭最近弄的面试刷题神器面试鸭,更多大厂常问面试题,可以点击进行阅读哈!

目前这个面试刷题神器刚出,有网页和小程序双端可以阅读!

回归面试题!

回答重点

Dubbo 是一个 RPC(远程过程调用)框架,主要用于服务之间的通信。它提供高性能的 RPC 调用、负载均衡、服务发现、服务注册、服务治理等功能。

适用于需要高性能 RPC 调用的分布式系统,常用于内部服务通信。

Spring Cloud Gateway 是一个 API 网关,用于处理外部客户端请求并将其路由到后端服务。它提供请求路由、负载均衡、协议转换、安全管理、流量控制、日志和监控等功能。

适用于微服务架构中的统一入口管理,常用于外部请求的入口层。

所以说它们不是一个层级的东西。

扩展 Dubbo 与 SpringCloud 对比

我们来看下 Dubbo 官网自己对于 SpringCloud 的对比供大家参考,以下内容来自 Dubbo官网

image.png

从上图我们可以看出,Dubbo 和 Spring Cloud 有很多相似之处,它们都在整个架构图的相同位置并提供一些相似的功能。

  • Dubbo 和 Spring Cloud 都侧重在对分布式系统中常见问题模式的抽象(如服务发现、负载均衡、动态配置等),同时对每一个问题都提供了配套组件实现,形成了一套微服务整体解决方案,让使用 Dubbo 及 Spring Cloud 的用户在开发微服务应用时可以专注在业务逻辑开发上。
  • Dubbo 和 Spring Cloud 都完全兼容 Spring 体系的应用开发模式,Dubbo 对 Spring 应用开发框架、Spring Boot 微服务框架都做了很好的适配,由于 Spring Cloud 出自 Spring 体系,在这一点上自然更不必多说。

虽然两者有很多相似之处,但由于它们在诞生背景与架构设计上的巨大差异,两者在性能、适用的微服务集群规模、生产稳定性保障、服务治理等方面都有很大差异

Spring Cloud 的优势在于:

  • 同样都支持 Spring 开发体系的情况下,Spring Cloud 得到更多的原生支持
  • 对一些常用的微服务模式做了抽象如服务发现、动态配置、异步消息等,同时包括一些批处理任务、定时任务、持久化数据访问等领域也有涉猎。
  • 基于 HTTP 的通信模式,加上相对比较完善的入门文档和演示 demo 和 starters,让开发者在第一感觉上更易于上手

Spring Cloud 的问题有:

  • 只提供抽象模式的定义不提供官方稳定实现,开发者只能寻求类似 Netflix、Alibaba、Azure 等不同厂商的实现套件,而每个厂商支持的完善度、稳定性、活跃度各异
  • 有微服务全家桶却不是能拿来就用的全家桶,demo 上手容易,但落地推广与长期使用的成本非常高
  • 欠缺服务治理能力,尤其是流量管控方面如负载均衡、流量路由方面能力都比较弱
  • 编程模型与通信协议绑定 HTTP,在性能、与其他 RPC 体系互通上存在障碍
  • 总体架构与实现只适用于小规模微服务集群实践,当集群规模增长后就会遇到地址推送效率、内存占用等各种瓶颈的问题,但此时迁移到其他体系却很难实现
  • 很多微服务实践场景的问题需要用户独自解决,比如优雅停机、启动预热、服务测试,再比如双注册、双订阅、延迟注册、服务按分组隔离、集群容错等

而以上这些点,都是 Dubbo 的优势所在:

  • 完全支持 Spring & Spring Boot 开发模式,同时在服务发现、动态配置等基础模式上提供与 Spring Cloud 对等的能力
  • 是企业级微服务实践方案的整体输出,Dubbo 考虑到了企业微服务实践中会遇到的各种问题如优雅上下线、多注册中心、流量管理等,因此其在生产环境的长期维护成本更低
  • 在通信协议和编码上选择更灵活,包括 rpc 通信层协议如 HTTP、HTTP/2(Triple、gRPC)、TCP 二进制协议、rest等,序列化编码协议Protobuf、JSON、Hessian2 等,支持单端口多协议
  • Dubbo 从设计上突出服务服务治理能力,如权重动态调整、标签路由、条件路由等,支持 Proxyless 等多种模式接入 Service Mesh 体系
    高性能的 RPC 协议编码与实现
  • Dubbo 是在超大规模微服务集群实践场景下开发的框架,可以做到百万实例规模的集群水平扩容,应对集群增长带来的各种问题
  • Dubbo 提供 Java 外的多语言实现,使得构建多语言异构的微服务体系成为可能

最后

最后再推荐下鸭鸭目前努力在做面试刷题神器面试鸭,已经有近 5000 多道面试题目啦,欢迎大家来阅读!如果大家有不会的面试题,也可以在小程序内反馈!鸭鸭会第一时间为大家解答!

我是鸭鸭,我们下期见~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/394410.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【每日刷题】Day96

【每日刷题】Day96 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. LCP 44. 开幕式焰火 - 力扣(LeetCode) 2. 1022. 从根到叶的二进制数之和 - …

栈和队列(数据结构)

1. 栈(Stack) 1.1 概念 栈 :一种特殊的线性表,其 只允许在固定的一端进行插入和删除元素操作 。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO ( Last In First Out )的原…

Pytorch-张量的创建

🌈个人主页: 羽晨同学 💫个人格言:“成为自己未来的主人~” 简介: 一个Python深度学习框架,它将数据封装成张量(Tensor)进行处理,Python中的张量就是元素为同一种数据类型的多维…

算法训练,项目

一.木材加工 题解: 二分答案,左边0,右边可以为最长的木头,但我直接赋值了一个很大的值,进行二分,随后写个check;内部遍历木头截取为mid木块的个数,要是>k,满足要求,还…

开源免费的海报设计器vue-fabric-editor

vue-fabric-editor 是一个基于 Vue.js 和 Fabric.js 的创新前端富文本编辑器,它将传统的文本输入体验与图形设计元素相结合,为用户提供了全新的内容创作方式。 以下是关于 vue-fabric-editor 的详细介绍: 一、技术特点 框架结合:…

快速掌握Vue:基础命令详解

1. Vue概述 Vue.js(读音 /vjuː/, 类似于 「view」) 是一套构建用户界面的 「渐进式框架」。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库…

在Visual Studio/Qt Creator 中使用CMake安装和使用vcpkg包

文章目录 0. vcpkg简介和安装0.1 vcpkg简介0.2 vcpkg安装0.2.1 如何在Visual Studio 2022以及以上版本中安装vcpkg0.2.2 在其他VS版本或Qt Creator等平台上中安装vcpkg 1. 在Visual Studio 中使用CMake安装和使用vcpkg包1.1 创建Visual Studio项目1.2 设置项目文件a. 配置CMake…

FLUX.1 实测,堪比 Midjourney 的开源 AI 绘画模型,无需本地显卡,带你免费实战

要列举 AI 绘画开源界的几个关键贡献,一定少不了 Stable Diffusion。 还记否前不久刚推出的 Stable Diffusion 3? 其背后的团队 Stability AI,真的是一波三折,其核心成员出走,成立了一个新公司:Black For…

【Hot100】LeetCode—41. 缺失的第一个正数

原题链接:41. 缺失的第一个正数 1- 思路 手动实现哈希的方式 1- 遍历数组:如果当前的元素落在了 [1,N] 区间内,则 i 元素 赋值在 i-1 的位置上 比如对于数字 1 落在 数组 [0] 的位置 2- 判断条件 利用 while 加条件 ①当前元素落在了 [1,N]…

LVS(Linux virual server)

一:环境准备: rhel9 软件:httpd, ipvsadm 四台纯净的rhel9机子:一台LVS调度设备(双网卡),两台webserver(单网卡仅主机),一台客户机 DR模式多…

夏天猫毛满天飞?别怕一篇文章教你空气净化器怎么选

家里猫实在太多,3只短毛加上2只长毛,简直就是行走的蒲公英。夏天一到,猫咪的毛发便开始肆意飞舞,这对爱猫人士来说无疑是个烦恼。自从养猫以后,已经养成了每天都打扫卫生的习惯,吸尘器、扫地机必不可少&…

四种推荐算法——Embedding+MLP、WideDeep、DeepFM、NeuralCF

一、EmbeddingMLP模型 EmbeddingMLP 主要是由 Embedding 部分和 MLP 部分这两部分组成,使用 Embedding 层是为了将类别型特征转换成 Embedding 向量,MLP 部分是通过多层神经网络拟合优化目标。——用于广告推荐。 Feature层即输入特征层,是模…

【MySQL】全面剖析索引失效、回表查询与索引下推

1.索引失效的情况 以tb_user表举例,id为主键索引、name和phone字段上建立了一个普通索引,name和phone均为varchar类型。 索引列运算 当在 WHERE 子句或 JOIN 子句中对列使用函数或表达式时,索引会失效。 执行以下语句,可以发现执…

STM32-门电路-储存器-寄存器-STM32f1-MCU-GPIO-总线-keil5-点led

1、门电路 门电路组成简单加法器: 二进制对电路的影响: 0和1代表无和有; 以下图例,演示与门:左1右1输出1; 电平标准:使用不同的电压表示数字0和1; 高电平:1&#xff1…

AI在医学领域:残差扩散模型预测特发性肺纤维化 (IPF)

关键词: IPF 进展预测、残差扩散模型、临床信息 特发性肺纤维化(Idiopathic Pulmonary Fibrosis,IPF)是一种严重且不可逆的肺部疾病,它会导致肺部组织出现瘢痕和增厚,从而引起呼吸困难。。及时对IPF进行治…

电子围栏报警系统的创新应用

在科技日新月异的今天,安全防护技术正以前所未有的速度发展,其中,电子围栏报警系统作为智能安防领域的佼佼者,正逐步成为各行各业守护安全的主要选择方案。这一创新技术的应用,不仅极大地提升了安全防护的效率和精准度…

24/8/7 算法笔记 支持向量机回归问题天猫双十一

import numpy as np from sklearn.svm import SVR import matplotlib.pyplot as plt X np.linspace(0,2*np.pi,50).reshape(-1,1) y np.sin(X) plt.scatter(X,y) 建模 线性核函数 svr SVR(kernel linear) svr.fit(X,y.ravel())#变成一维y_ svr.predict(X) plt.scatter(…

阿里云播放器 web端 问题解决总结

1:ios设备长按视频,会出现系统的放大镜效果: 可以只监听touchstart事件即可 var playerContainer document.getElementById(this.playerId); playerContainer.addEventListener(touchstart, preventZoom, { passive: false }); playerConta…

unity 创建项目报错feature has expired (H0041),sentinel key not found (H0007)

两个报错同一种处理方式。 1、删除以下路径所有文件:C:\ProgramData\SafeNet Sentinel(注意:ProgramData为隐藏文件) 2、打开Cmd(WinR键,输入cmd回车),进入Unity安装所在盘符&#…

为啥https比http慢

Https有ssl的握手 HTTP没有 HTTPS TCP 和HTTP 的TCP 时间差不是很大 HTTPS请求中,ssl所占的时间比例是请求时间总和93.37%, HTTPS请求中,ssl的请求会是tcp请求的14倍,而HTTP中没有这个问题 建议:对安全要求不是很高的,不要使用https请求 图例