热门关键字: 6070 111 11 11 11 11
归纳概括 文章 文章写作 贯彻执行题 
  Java程序员必备:Dubbo分布式服务框架常见面试题解析与实战指南
发表评论 来源:网络整理 编辑:admin2 日期:2025-04-21

Java技术堆栈

优秀的Java技术官方帐户

如果您想去更高的地方,怎么能不懂Dubbo?

Dubbo是中国最著名的分布式服务框架,也是Java程序员的基本框架之一。 Dubbo是一种在中间和高级面试过程中经常询问的技术。无论您是否使用过它,都必须熟悉它。

下面我为您准备了一些常见的Dubbo面试问题。其中一些是我经常问其他问题的东西,有些是我过去采访中遇到的一些问题。我将为您总结它们。我希望他们会对您有所帮助。

1。什么是Dubbo?

Dubbo是阿里巴巴的开源Java的高性能RPC分布式服务框架,该框架现已成为Apache Foundation的一个孵化项目。

如果面试官问您是否不知道这一点,则无需询问以下一个。

官方网站:

2。为什么要使用Dubbo?

由于它是阿里巴巴的开源项目,因此许多国内互联网公司正在使用它,并经历了许多在线测试。 Netty和Zookeeper在内部用于确保高性能和高可用性。

使用Dubbo,可以提取核心服务并用作独立服务,以逐渐形成稳定的服务中心,该中心可用于改善业务重用和灵活的扩展,以便前端应用程序可以更快地响应不断变化的市场需求。

下图可以清楚地解释。最重要的一点是,分布式架构可以承受更大规模的并发流量。

以下是Dubbo的服务治理图表。

3。Dubbo和Spring Cloud有什么区别?

两者没有连接。如果您必须说区别,则有以下几点。

1)不同的通信方法

Dubbo使用RPC通信,而Spring Cloud则使用HTTP RESTFUL。

2)不同的组件

4. Dubbo支持哪个协议以及推荐哪个协议?

5。Dubbo需要Web容器吗?

不,如果您强迫使用Web容器,则只会增加复杂性和浪费资源。

6. Dubbo内置了哪些类型的服务容器?

Dubbo的服务容器只是一种简单的主方法,并加载了一个简单的弹簧容器,用于公开服务。

7. Dubbo中的节点角色是什么?

8.画出服务注册和发现流程图的图片

这张照片来自Dubbo的官方网站供您参考。如果您说自己熟悉Dubbo,面试官通常会要求您绘制这张照片并记住它。

9. Dubbo默认使用哪个注册中心?还有其他选择吗?

建议将Zookeeper作为注册中心以及Redis,多播和简单的注册中心,但不建议使用。

10。Dubbo的配置方法是什么?

1)春季配置方法

2)Java API配置方法

11. Dubbo的核心配置是什么?

我曾经遇到过一个面试官,要求您在面试中写下这些配置,我也感到困惑。 。

配置之间的关系如下图所示。

12。可以在提供商上配置的消费者端的属性是什么?

1)超时:方法呼叫超时

2)检索:重试时间失败的数量,默认重试2次

3)载荷:负载平衡算法,默认随机

4)活跃的消费者方,最大并发通话限制

13.如果Dubbo启动时依赖服务不可用,会发生什么?

Dubbo默认设置以检查依赖服务是否在启动时可用。如果不可用时,将抛出一个例外,以防止弹簧初始化完成。默认检查=“ true”可以通过check =“ false”检查。

14. Dubbo建议使用哪种序列化框架,您还知道什么?

建议使用Hessian序列化以及Duddo,FastJson和Java Native Serialization。

15. Dubbo默认使用什么通信框架?还有其他选择吗?

Dubbo默认情况下使用Netty框架,这也是推荐的选择。此外,该内容与Mina和Grizzly集成在一起。

16. Dubbo的群集容错解决方案是什么?它是哪个默认设置?

17. Dubbo拥有的负载平衡策略是什么?默认值是什么?

18.注册多个服务。如果您测试指定的服务怎么办?

您可以配置环境点对点直接连接,绕过注册表中心,并在服务接口中忽略注册表提供商列表。

19。Dubbo是否支持多协议服务?

Dubbo允许配置多个协议,支持不同服务上的不同协议或同时支持同一服务的多个协议。

20。当服务界面具有多个实现时,该怎么办?

当接口具有多个实现时,可以使用组属性对其进行分组,并且服务提供商和消费者都指定同一组。

21.启动服务时如何与旧版本兼容?

您可以使用要过渡的版本编号,并将多个不同版本的服务注册到注册中心,并且具有不同版本编号的服务不会相互引用。这与服务分组的概念有点相似。

22. Dubbo可以缓存结果吗?

是的,Dubbo提供声明的缓存,以加快对流行数据的访问,以减少用户的工作量以添加缓存。

23。在Dubbo服务阻塞之间是否呼叫?

默认情况下,通过同步等待结果来阻止它,并且支持异步调用。

Dubbo是基于NIO的并行调用的非阻滞实现。客户端无需启动多线程即可完成多个远程服务的并行调用。与多线程相比,开销很小,异步调用将返回将来的对象。

异步呼叫流程图如下。

24. Dubbo是否支持分布式交易?

如图所示,目前不支持它,并且将来可以根据JTA/XA规范实现。

25。Dubbo Telnet命令可以做什么?

Dubbo使用Telnet命令来管理服务。有关详细信息,请阅读本文“《”。

Telnet Localhost 8090

26。Dubbo支持服务是否降级?

支持Dubbo 2.2.0或以上。

27.如何优雅地阻止Dubbo?

Dubbo通过JDK的关闭方式优雅地关闭,因此,如果您使用强制关闭命令(例如Kill -9 PID),则不会执行优雅的关闭。仅当杀死PID通过时才会执行。

28.服务提供商能够实现失败的原则是什么?

服务故障启动了基于动物园管理员的临时节点原理。

29。如何解决太长的服务呼叫链的问题?

Dubbo可以使用Pinpoint和Apache Skywalking(孵化器)实现分布式服务跟踪,当然还有许多其他解决方案。

30。推荐用于服务阅读和写作的容忍策略是什么?

如果您未能阅读,建议使用故障转移自动切换。默认情况下,您可以两次尝试其他服务器。

建议使用Failfast快速失败。如果发送后通话失败后,将立即报告错误。

31. Dubbo必须依靠哪些包装?

Dubbo必须依靠JDK,其他是可选的。

32。Dubbo的管理控制台可以做什么?

管理控制台主要包括:路由规则,动态配置,降级,访问控制,调整权重调整,负载平衡和其他管理功能。

33。谈论Dubbo服务曝光的过程。

Spring实例化BEAN后更多公务员考试网题库就点击这里,Dubbo将通知ServiceBean类,该类实现ApplicationListener,以在contextrefreshevent事件发生在刷新容器的最后一步中,以调用onapplicationEvent事件方法。 Dubbo将在此方法中调用ServiceBean Parent类ServiceConfig的导出方法,该方法确实实现了服务的服务(异步或非及时性)版本。

34。Dubbo停止维护?

维护在2014年开始停止几年,重新维护于2017年,并进入了Apache项目。

35。Dubbo和Dubbox有什么区别?

DUBBOX是一个扩展项目,基于Dubbo停止后的Dubbo,例如将服务添加到RESTFUL,更新开源组件等。

36。您知道其他分布式框架吗?

其他包括Spring Cloud,Facebook的节俭,Twitter的Finagle等。

37。Dubbo可以整合Spring引导吗?

是的,项目地址如下。

38。使用期间您遇到了什么问题?

Dubbo旨在满足具有高并发和较小数据量的RPC呼叫。大数据量下的性能不好。建议使用RMI或HTTP协议。

39。您阅读了Dubbo的源代码吗?

要了解Dubbo,您必须阅读其源代码,了解其原理,并花一些时间阅读它。互联网上也有许多教程。如果将来有时间,我将在官方帐户上共享Dubbo的源代码。

40。您认为使用Dubbo或Spring Cloud更好吗?

没有好问题或坏问题,只有合适或不适合,但我似乎更喜欢使用Dubbo。 Spring Cloud版本的升级太快了,组件更新和替换过于频繁,配置太麻烦了,我认为Dubbo不容易使用很多东西...

暂时考虑到这些,我希望它们对每个人都会有所帮助。有关更多其他面试问题和答案,请回复背景中的关键字:面试。

本文是博客作者在国庆日做出的重大举动。请喜欢并转发。这是对博客作者的最大支持。

公务员考试网推荐专题
你可能还会关注的文章
公务员考试网最新文章
公务员考试网热门文章
公务员考试网推荐
 
网站留言 | 关于我们 | 广告业务 | 信息反馈 | 合作伙伴 | 网站地图
版权所有 2007-2023 甘肃公务员考试网(www.gsgwyw.com)
Copyright © 2007-2023 www.gsgwyw.com Incorporated. All rights reserved.