java架构师面试题——Dubbo篇

1000+道 互联网Java架构师面试题 这套 1000+ 道的 Java 面试手册我整理了足足 1 个月,上传到 GitHub 上目前 star 数达到了 30K+ 。2022 年的互联网行业竞争越来越严峻,面试也是越来越难,一直以来我都想整理一套完美的面试宝典,直到现在刚弄好。 阅读详情

其实关于 Dubbo 的面试题,我觉得最好的文档应该还是官网,因为官网有中文版,照顾了很多阅

读英文文档吃力的小伙伴。但是官网内容挺多的,于是这里就结合官网和平时面试被问的相对较多

的题目整理了一下。

1、 说说一次 Dubbo 服务请求流程?

基本工作流程:

上图中角色说明:

2、说说 Dubbo 工作原理

工作原理分 10 层:

第一层:service 层,接口层,给服务提供者和消费者来实现的(留给开发人员来实现);

第二层:config 层,配置层,主要是对 Dubbo 进行各种配置的,Dubbo 相关配置;

第三层:proxy 层,服务代理层,透明生成客户端的 stub 和服务单的 skeleton,调用的是接

口,实现类没有,所以得生成代理,代理之间再进行网络通讯、负责均衡等;

第四层:registry 层,服务注册层,负责服务的注册与发现;

第五层:cluster 层,集群层,封装多个服务提供者的路由以及负载均衡,将多个实例组合成一

个服务;

第六层:monitor 层,监控层,对 rpc 接口的调用次数和调用时间进行监控;

第七层:protocol 层,远程调用层,封装 rpc 调用;

第八层:exchange 层,信息交换层,封装请求响应模式,同步转异步;

第九层:transport 层,网络传输层,抽象 mina 和 netty 为统一接口;

第十层:serialize 层,数据序列化层。

这是个很坑爹的面试题,但是很多面试官又喜欢问,你真的要背么?你能背那还是不错的,我建议

不要背,你就想想 Dubbo 服务调用过程中应该会涉及到哪些技术,把这些技术串起来就 OK 了。

面试扩散

如果让你设计一个 RPC 框架,你会怎么做?其实你就把上面这个工作原理中涉及的到技术点总结一

下就行了。

3、Dubbo 支持哪些协议?

还有三种,混个眼熟就行:Memcached 协议、Redis 协议、Rest 协议。

上图基本上把序列化的方式也罗列出来了。

详细请参考:Dubbo 官网:http://dubbo.apache.org/zh-cn/docs/user/references/protocol/dub

bo.html。

4、注册中心挂了,consumer 还能不能调用 provider?

可以。因为刚开始初始化的时候,consumer 会将需要的所有提供者的地址等信息拉取到本地缓

存,所以注册中心挂了可以继续通信。但是 provider 挂了,那就没法调用了。

关键字:consumer 本地缓存服务列表。

5、怎么实现动态感知服务下线的呢?

服务订阅通常有 pull 和 push 两种方式:

pull 模式需要客户端定时向注册中心拉取配置;

push 模式采用注册中心主动推送数据给客户端。

Dubbo ZooKeeper 注册中心采用是事件通知与客户端拉取方式。服务第一次订阅的时候将会拉取

对应目录下全量数据,然后在订阅的节点注册一个 watcher。一旦目录节点下发生任何数据变化,

ZooKeeper 将会通过 watcher 通知客户端。客户端接到通知,将会重新拉取该目录下全量数据,

并重新注册 watcher。利用这个模式,Dubbo 服务就可以做到服务的动态发现。

注意:ZooKeeper 提供了“心跳检测”功能,它会定时向各个服务提供者发送一个请求(实际上建立

的是一个 socket 长连接),如果长期没有响应,服务中心就认为该服务提供者已经“挂了”,并将其

剔除。

6、Dubbo 负载均衡策略?

随机(默认):随机来

轮训:一个一个来

活跃度:机器活跃度来负载

一致性 hash:落到同一台机器上

7、 Dubbo 容错策略

failover cluster 模式

provider 宕机重试以后,请求会分到其他的 provider 上,默认两次,可以手动设置重试次数,建

议把写操作重试次数设置成 0。

failback 模式

失败自动恢复会在调用失败后,返回一个空结果给服务消费者。并通过定时任务对失败的调用进行

重试,适合执行消息通知等操作。

failfast cluster 模式

快速失败只会进行一次调用,失败后立即抛出异常。适用于幂等操作、写操作,类似于 failover

cluster 模式中重试次数设置为 0 的情况。

failsafe cluster 模式

失败安全是指,当调用过程中出现异常时,仅会打印异常,而不会抛出异常。适用于写入审计日志

等操作。

forking cluster 模式

并行调用多个服务器,只要一个成功即返回。通常用于实时性要求较高的读操作,但需要浪费更多

服务资源。可通过 forks="2" 来设置最大并行数。

broadcacst cluster 模式

广播调用所有提供者,逐个调用,任意一台报错则报错。通常用于通知所有提供者更新缓存或日志

等本地资源信息。

8、Dubbo 动态代理策略有哪些?

默认使用 javassist 动态字节码生成,创建代理类,但是可以通过 SPI 扩展机制配置自己的动态代理

策略。

9、说说 Dubbo 与 Spring Cloud 的区别?

这是很多面试官喜欢问的问题,本人认为其实他们没什么关联之处,但是硬是要问区别,那就说说

吧。

回答的时候主要围绕着四个关键点来说:通信方式、注册中心、监控、断路器,其余像 Spring 分布

式配置、服务网关肯定得知道。

通信方式

Dubbo 使用的是 RPC 通信;Spring Cloud 使用的是 HTTP RestFul 方式。

注册中心

Dubbo 使用 ZooKeeper(官方推荐),还有 Redis、Multicast、Simple 注册中心,但不推荐。;

Spring Cloud 使用的是 Spring Cloud Netflix Eureka。

监控

Dubbo 使用的是 Dubbo-monitor;Spring Cloud 使用的是 Spring Boot admin。

断路器

Dubbo 在断路器这方面还不完善,Spring Cloud 使用的是 Spring Cloud Netflix Hystrix。

分布式配置、网关服务、服务跟踪、消息总线、批量任务等。

Dubbo 目前可以说还是空白,而 Spring Cloud 都有相应的组件来支撑。

10、Zookeeper 和 Dubbo 的关系?

Zookeeper的作用

zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简

单来说就是ip地址和服务名称的对应关系。当然也可以通过硬编码的方式把这种对应关系在调用方

业务代码中实现,但是如果提供服务的机器挂掉调用者无法知晓,如果不更改代码会继续请求挂掉

的机器提供服务。zookeeper通过心跳机制可以检测挂掉的机器并将挂掉机器的ip和服务对应关系

从列表中删除。至于支持高并发,简单来说就是横向扩展,在不更改代码的情况通过添加机器来提

高运算能力。通过添加新的机器向zookeeper注册服务,服务的提供者多了能服务的客户就多了。

dubbo

是管理中间层的工具,在业务层到数据仓库间有非常多服务的接入和服务提供者需要调度,dubbo

提供一个框架解决这个问题。 注意这里的dubbo只是一个框架,至于你架子上放什么是完全取决于

你的,就像一个汽车骨架,你需要配你的轮子引擎。这个框架中要完成调度必须要有一个分布式的

注册中心,储存所有服务的元数据,你可以用zk,也可以用别的,只是大家都用zk。

zookeeper和dubbo的关系

Dubbo 的将注册中心进行抽象,它可以外接不同的存储媒介给注册中心提供服务,有

ZooKeeper,Memcached,Redis 等。

引入了 ZooKeeper 作为存储媒介,也就把 ZooKeeper 的特性引进来。首先是负载均衡,单注册中

心的承载能力是有限的,在流量达到一定程度的时 候就需要分流,负载均衡就是为了分流而存在

的,一个 ZooKeeper 群配合相应的 Web 应用就可以很容易达到负载均衡;资源同步,单单有负载

均衡还不 够,节点之间的数据和资源需要同步,ZooKeeper 集群就天然具备有这样的功能;命名

服务,将树状结构用于维护全局的服务地址列表,服务提供者在启动 的时候,向 ZooKeeper 上的

指定节点 /dubbo/${serviceName}/providers 目录下写入自己的 URL 地址,这个操作就完成了服

务的发布。 其他特性还有 Mast 选举,分布式锁等。

架构师职位常见面试题 一、架构师的日常职责是什么? 总体而言,架构师负责软件领域的顶层设计。 架构师需要根据公司的发展,规划企业未来若干年的架构,制定可落地的架构方案,解决技术难题,做技术选型与攻关,落地具体的架构。优秀的架构师既能做架构方案,也能写具体的架构代码。 二、开发工程师和架构师有何区别? 工作重点不同:架构师重点在于前期的架构规划,需要制定可落地的架构方案,结合公司的业务场景、团队的技术水平等因素... 阅读详情

相关推荐

三极管共集电极放大电路详解:射极跟随器的原理、计算与应用

三极管放大电路是模拟电子技术的基石,常见组态包括共发射极、共基极和共集电极。其中共集电极电路因输入电阻大、输出电阻小、电压增益接近1的特性,常被用作射极跟随器,在信号缓冲、级间隔离和低阻抗负载驱动等场景中发挥关键作用。其核心价值并非电压放大,而是完成阻抗变换,将高内阻信号源转换为低内阻输出,同时保持信号幅值基本不变。理解其静态工作点计算与动态参数推导(如电压增益、输入输出电阻)是设计实用电路的前提。本文结合12V电源下的具体设计实例和仿真验证,梳理了从电路识别、参数计算到工程实践的完整流程,并指出常见设计误

weixin_29193259的博客 377

Dubbo常见面试题

关注Java后端技术栈“回复“面试”获取最新资料其实关于Dubbo的面试题,我觉得最好的文档应该还是官网,因为官网有中文版,照顾了很多阅读英文文档吃力的小伙伴。但是官网内容挺多的,于是这...

田维常 1449

手把手教你用示波器测试DDR5 DRAM信号完整性(附眼图分析技巧)

本文详细介绍了如何使用示波器测试DDR5 DRAM信号完整性,包括眼图分析技巧。从DDR5的核心挑战、测试设备选型到实测工作流程,提供了全面的指导。特别强调了DFE功能验证和系统级协同测试,帮助工程师解决信号完整性问题,提升测试效率。

g2h3i4j5的博客 1163

JAVA面试题--Dubbo(最新最全)

JAVA面试题--Dubbo(最新最全)

weixin_42119706的博客 479

扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码)

扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码) 文章目录扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码)理论讲解KF和EKF模型对比雅可比矩阵计算计算实例应用实例线性模型CV模型:CA模型非线性模型CTRV模型:CTRV实例(python)small demo抛物线demo飞机高度demoC++实例参考文献 我们上篇提到的卡尔曼滤波是用于线性系统,预测(运动)模型和观测模型是在假设高斯和线性情况下进行的。简单的卡尔曼滤波必须应用在符合高斯分布

O_MMMM_O的博客 10万+

CLIP-Count代码配置以及踩坑记录

CLIP-Count代码配置以及踩坑记录

学术菜鸡 1011

JAVA:Dubbo 常见面试题的技术指南

摘要: Dubbo是一款高性能Java RPC框架,支持分布式服务治理,包括服务注册、发现、负载均衡和容错。其架构分为接口层、配置层、代理层等10层,默认使用Netty通信和Hessian序列化,支持Zookeeper等注册中心。Dubbo提供多种容错策略(如Failover、Failfast)和负载均衡算法(如随机、轮询),并支持SPI扩展机制。服务降级通过Mock类实现,版本控制通过分组和版本号兼容旧服务。设计模式上采用工厂模式和装饰器模式,启动时依赖检查默认开启。

木头 7910

【异常】安装hermes-agent时Git克隆大仓库报错:error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CAN

摘要:本文分析了Ubuntu服务器执行Git递归克隆时出现的网络传输中断错误(HTTP/2流异常关闭、数据截断)。主要原因是网络限制、协议兼容问题和缓冲区不足。提供了四种解决方案:1)扩大Git HTTP缓冲区;2)切换为HTTP/1.1协议;3)采用浅克隆+分步拉取子模块;4)网络优化措施。重点推荐浅克隆分步拉取作为最有效方案,所有方法无需重启即可生效,可快速解决大仓库递归克隆失败问题。

奶爸的编程之路,也就一周冷个三天 671

【硬核】Dubbo最全面试题 附答案

系列完结终章

敖丙 2万+

一张微服务地图的十年演进:Spring Cloud 核心、扩展与工具组件的定位、原理与选型

本文把 Spring Cloud 当作一张微服务地图来读:先说明它是由 Commons 抽象层、实现层和 Boot 装配层构成的发行版,再沿一次请求梳理注册发现、负载均衡、声明式调用、容错限流、网关、配置、追踪与总线七类核心组件的原理与换代,并扩展到云平台、服务网格、消息流、批处理、安全与周边生态。仿真实测:默认参数下实例宕机平均 242 秒才被感知,优雅下线降到 47 秒;一个慢实例让轮询的 P99 达 49 秒,P2C 仅 203 毫秒。最后给出退场替代表、技术栈组合、升级路线和决策树。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 169万+

【CloudCompare教程】017:点云快速全局配准

点云数据的配准分为基于特征(特征点、特征线)的拼接和无特征拼接。特征点匹配的方法和全局ICP的方法。特征点的方法通过全局特征匹配达到全局配准,全局ICP的方法通过对变量空间进行搜索的方法达到全局最优解。

智慧空间实验室 3930

dubbo 面试题

dubbo是什么dubbo是一个分布式框架,远程服务调用的分布式框架,其核心部分包含:集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容...

java面试笔试 849

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

这份485页32W字Java面试手册,让众多粉丝直通阿里!

前言 现在"内卷"是个热门词,各行各业,从学习到工作,言必谈内卷。没想到在阿里,我也能遇到内卷,一位阿里P8架构师熬了一个月肝出了这份32W字Java面试手册,在Github标星31K+,我只能直呼牛逼!这么厉害的大佬为我们整理出了一套完美的面试资料,我们有什么资格不努力,今天我特地问这位大佬要来了这份面试题,分享给大家,已经有人靠这份面试题那些众多大厂的offer了。 这套面试题有一千多道,全是大厂面试真题,内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、M

weixin_57907028的博客 278

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

剑指offer!美团内部透露基础+进阶+终极的突击小册,赶快学起来

不知道今年大家有没有出去面试过?相信去面过的朋友都深同感受,本来这个行业内卷的很严重,现在在加上大环境的影响,原本很平常的面试现在的状况变的异常激烈,要想在众多的应聘者脱颖而出呢,所以面试前的准备也变得尤为重要。所以小编把自己一直在用的突击手册分享给大家。这份除这些以外还有一份与,急着找工作的朋友可以好好看一看,肯定有你们用的到的。

javaAnPou的博客 151

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

可能是最全的java架构师面试题

架构师必读 最全最新java面试题系列全家桶(带答案) 架构师职位常见面试题 源码分析 常用设计模式 23种经典设计模式都有哪些,如何分类 阿里java设计模式面试题 Spring 框架中都用到了哪些设计模式 开发中都用到了那些设计模式?用在什么场合? 微服务架构的六种常用设计模式是什么? 1、proxy代理模式 2、factory工厂模式 3、singleton单例模式 4、delegate委派...

jovisoft的专栏 2万+

43道Java架构师面试题以及答案解析,快测试一下你会不会?

前言 2021年通用架构师面试问题,面试中较为笼统的部分不一定只专注于您的简历。它还可能包含一些有关您从事的项目以及如何管理时间和优先级的问题。作为架构师去参加面试的时候只有自己平时的积累可能是源源不够的,我们还要去了解一些平时工作中可能不会接触到的技术相关来丰富我们自己的眼界,也需要去了解所要面试公司的架构的演进,有一个对应的了解,会对我们的职业生涯带来更多的帮助。 ## 一、架构师的日常职责是什么 ? 总体而言,架构师负责软件领域的顶层设计。 架构师需要根据公司的发展,规划企业未来若干年的架构,制定可

weixin_56667968的博客 2万+

java架构师_Java架构师职位常见面试题

一、架构师的日常职责是什么 ?总体而言,架构师负责软件领域的顶层设计。架构师需要根据公司的发展,规划企业未来若干年的架构,制定可落地的架构方案,解决技术难题,做技术选型与攻关,落地具体的架构。优秀的架构师既能做架构方案,也能写具体的架构代码。二、开发工程师和架构师有何区别?工作重点不同:架构师重点在于前期的架构规划,需要制定可落地的架构方案,结合公司的业务场景、团队的技术水平等因素做技术选型,解决...

weixin_39915668的博客 1589

2026版Java架构师面试题及答案整理汇总

这套面试题可以说是你面试必备的题库,由于篇幅限制,笔记无法全部为大家展示出来,就以截图主要内容的形式让大家参考啦,需要完整版的小伙伴可以点击下方名片获取。

m0_69632475的博客 1017

2025最新Java架构师面试题,已助我拿下3个大厂(美团、字节、饿了吗)的Offer

2025 年的互联网行业竞争越来越严峻,面试也是越来越难,一直以来我都想整理一套完美的,奈何难抽出时间,这套 1200+道的 Java 面试手册我整理了整整 1 个月,上传到 Git 上目前 star 数达到了 30K+(共 485 页,32W 字)下面将这份笔记的内容以截图的形式展示给大家!

m0_50180963的博客 1576

阿里P8架构师精心整理:Dubbo+Docker+Kubernetes实战PDf,附面试题

学习是一种基础性的能力。然而,“吾生也有涯,而知也无涯。”,如果学习不注意方法,则会“以有涯随无涯,殆矣”。学习就像吃饭睡觉一样,是人的一种本能,人人都有学习的能力。我们在刚出生的时候,什么也不知道,是一张真正的白纸,我们靠学习的本能,学会了走路、说话、穿衣服…后来,我们上学了,老师把书本上的知识一点一点灌输到我们的脑子里,我们掌握的知识越来越多,与此同时,我们学习能力却好像越来越差了,习惯了被别人喂饱,似乎忘记了怎么来喂自己了。学习本来只是一种本能,算不上什么能力,然而,经过二十多年的不断学习,学习反而成

知识分享官 966

java架构师面试题及答案

在开头跟大家分享的时候我就说,面试我是没有做好准备的,全靠平时的积累,确实有点临时抱佛脚了,以至于我自己还是挺懊恼的。(准备好了或许可以拿个40k,没做准备只有30k+,你们懂那种感觉吗)如何准备面试?1、前期铺垫(技术沉积)程序员面试其实是对于技术的一次摸底考试,你的技术牛逼,那你就是大爷。大厂对于技术的要求主要体现在:基础,原理,深入研究源码,广度,实战五个方面,也只有将原理理论结合实战才能把技术点吃透。

m0_60721649的博客 2304

Dubbo-常见面试题-总结

ˈdʌbəʊ| 是一款高性能、轻量级的开源 Java RPC 框架。根据Dubbo 官方文档open in new window的介绍,Dubbo 提供了六大核心能力面向接口代理的高性能RPC调用。智能容错和负载均衡。服务自动注册和发现。高度可扩展能力。运行期流量调度。可视化的服务治理与运维。简单来说就是:Dubbo 不光可以帮助我们调用远程服务,还提供了一些其他开箱即用的功能比如智能负载均衡。Dubbo 目前已经有接近 34.4 k 的 Star。在。

Java程序员的知识博客 1132

Java架构师职位常见面试题,看完面试不再慌!(未完待续

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。下面的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)最新整理电子书一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!一个人可以走的很快,但一群人才能走的更远。

2401_84166896的博客 933

Java架构师面试宝典(含答案)

双十一秒杀高可靠如何实现? Sentinel承接了阿里10年的促销场景,利用:流量控制(通过设置QPS来控制),容错(熔断就是切断坏路,让后续新流量再走这个坏路),降级(备选B角,走了try-cath的机制,),三板斧解决高可靠。熔断机制:通过滑动时间窗口实现的,对前一段时间的错误比例来设置熔断点。

Peter_Changyb的博客 2万+
上一篇: java架构师面试题——SpringBoot篇
下一篇: java架构师面试题——MySQL篇
杜引强
博客等级 码龄13年 806粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值