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

news2024/11/17 23:39:47

大家好,我是鸭鸭!

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

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

回归面试题!

回答重点

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.coloradmin.cn/o/1991616.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android中的Binder

binder是Android平台的一种跨进程通信(IPC)机制,从应用层角度来说,binder是客户端和服务端进行通信的媒介。 ipc原理 ipc通信指的是两个进程之间交换数据,如图中的client进程和server进程。 Android为每个进程提供了…

中值定理适用题型

探讨f 和 f’用 拉格朗日中值定理探讨f与f的高阶导数泰格公式探讨 f, g 和 f’, g’柯西中值定理探讨 f’0罗尔定理、费马定理f0零点定理 延伸: 拉格朗日中值定理的重要作用之一:用 f’ 的大小来限定 f 的变化幅度大小

快团团供货团长帮卖团长如何反向核销订单?

一、功能说明 当已核销的订单需要处理退款时,可以先操作反向核销(取消核销),再处理退款。 二、具体操作步骤 在商品核销中找到出想要“反向核销”的订单,在本次核销中点“-”号,再点击批量核销即可。 注意&…

【每日刷题】Day96

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

如何分析KDJ指标?九方智投学习机来帮忙

(九方智投属于九方智投控股有限公司(9636.HK)旗下品牌)      投资中,投资者需要参考的内容有很多,例如KDJ指标,KDJ指标又叫随机指标,是一种相当新颖、实用的技术分析指标&#x…

RJ TextEd 配置简易C/C++ 编译运行环境

前提条件 1.Mingw GCC已经按照且配置环境变量 2.RJ TextEd已安装 步骤 1.配置工具 2.新建 3.填写内容 以GCC为例 4.重复新建G/Run 为了同时支持C和C,有三个工具,gcc g run 5.设置快捷键 注意不能和已有的冲突 验证

ThreadLocal 详解(二)ThreadLocal的原理

前言:Threadlocal的原理涉及两个方面:Threadlocal实例和ThreadlocalMap;这是我画的草图 一.Threadlocal实例 每个Threadlocal对象实际上是一个容器,用于储存线程本地的变量副本。每个线程都可以拥有自己的Threadlocal实例&#xf…

快手如何改ip地址到另外城市

在现今的数字时代,社交媒体平台如快手已成为我们日常生活中不可或缺的一部分。无论是分享生活点滴、观看娱乐视频,还是进行商业推广,快手都为我们提供了广阔的空间。然而,在使用快手的过程中,一些用户可能会遇到需要更…

mapbox-gl 实现房间面生成墙(借助jsts)

文章目录 一、前言二、面生成墙方法示例 一、前言 当我们从室外放大到室内展示室内图层时,我们可能只有房间面的数据,这时要展示房间墙数据,就需要借助工具对房间面进行缓冲,但是数据变动时,我们还要再次进行一下缓冲…

【算法专题】哈希表

哈希表是什么?有什么用?什么时候使用?怎么用? 哈希表是存储数据对的容器;作用在于快速查找某个元素;当我们需要频繁地查找元素时,会考虑使用哈希表;在算法题中,我们通常使…

基于el-table的表格点选和框选功能

开篇 本篇文章旨在实现一个基于el-table的表格点选和框选功能,除此之外,还支持多种模式的切换、自定义勾选日期等。且,该表格后续可能还会持续优化! 功能介绍 表格点选和框选功能(没有点击ctrl键的情况下)…

AI安全新纪元:智能体驱动的网络安全新范式

近日,ISC.AI 2024第十二届互联网安全大会在北京盛大开幕。本次大会以"打造安全大模型,引领安全行业革命"为主题,旨在呼吁行业以大模型重塑安全体系,以保障数字经济的稳健发展。 在企业安全运营与策略实践论坛上&#x…

人工智能时代,数字化工厂如何改革?提升竞争力?

在人工智能时代,数字化工厂通过数据驱动的决策、智能制造、柔性生产、物联网整合以及人机协作,实现生产效率和产品质量的全面提升,并不断创新以保持竞争力。 --题记 在人工智能时代,数字化工厂的改革…

usb摄像头 按钮 静止按钮

usb摄像头 按钮 静止按钮 来分析一个UVC的摄像头的枚举信息 UVC学习:UVC中断端点介绍 https://www.eet-china.com/mp/a269529.html 输入命令lsusb -d 0c45:62f1 -v https://www.miaokee.com/705548.html >Video Class-Specific VS Video Input Header Descrip…

如何恢复未保存/删除的 WPS 文档文件

“如何恢复 WPS 文件?文件已损坏,似乎我之前没有保存过,软件退出,导致文件丢失。有什么方法可以恢复未保存的 WPS 文档吗?” WPS 办公套件是金山软件开发的一款很棒的套件。说实话,它更适合个人和办公室工…

GEE数据——全球固定宽带和移动(蜂窝)网络性能(网速)(2019-2024)

全球固定宽带和移动(蜂窝)网络性能 简介 全球固定宽带和移动(蜂窝)网络性能,分配给缩放级别 16 的网络 mercator 瓷砖(赤道处约 610.8 米乘 610.8 米)。 数据以 Shapefile 格式和 Apache Par…

在那曲,一场别开生面的盛会即将上演

当夏日的暖阳轻抚着那曲的广袤草原,一场展现高原之魂的盛会悄然临近。2024年8月8日,那曲市将举办一场独特的选美比赛——“最美牦牛”评选比赛,邀请各界人士、朋友共襄盛举。 牦牛,被誉为“高原之舟”,它们在这片古老的…

【nginx】解决k8s中部署nginx转发不会自动更新域名解析启动失败的问题

文章目录 1. 问题2.解决办法3.扩展说明3.1 DNS解析阶段划分3.2 问题说明3.2.1 先看/etc/resolv.conf说明3.2.2 针对第一个问题3.2.3 针对第二个问题 【后端】NginxluaOpenResty高性能实践 参考: https://blog.csdn.net/u010837612/article/details/123275026 1. 问…

【Java安全开发全流程解读】Ting-Write-Nuclei V1.0发布 【万户OA-SQL注入1Day-POC】

加微信即可加入WingBy交流群 不存在娱乐化 前言 nuclei-poc一键生成工具市面上很多也很全,比如burp插件生成POC projectdiscovery/nuclei-burp-plugin: Nuclei plugin for BurpSuite (github.com) GUI nuclei-plus/README_zh.md at main Yong-An-Dang/nuclei-p…

七夕情人节送什么礼物?看完这篇你就知道了

在这个充满爱意的时刻,送上一份精心挑选的礼物,不仅能表达你的爱意,更能加深彼此之间的情感联系。然而,选择一份合适的情人节礼物并非易事,因为每个人都有其独特的需求和喜好。如果你还在为情人节送什么礼物而纠结&…