在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Dubbo作为国内最主流和常见的分布式服务框架,是Java程序员必须要熟练掌握的框架。虽然Consul正在崛起,但Dubbo又开始重新更新,因此目前市场上仍有不少公司使用Dubbo。在Java岗位的面试中,Dubbo更是会被经常问到的技术难点,因此无论你在哪家公司面试,都必须熟悉Dubbo的相关知识点。本文为大家整理了一些Java程序员常见的Dubbo面试题,并附上了参考答案,一起来做做吧!
1、说一说使用Dubbo的理由。
答案:因为是Dubbo阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验,作为Java程序员肯定是要掌握的。而且它内部使用了 Netty、Zookeeper,保证了高性能高可用性。使用 Dubbo 可以将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,可用于提高业务复用灵活扩展,使前端应用能更快速的响应多变的市场需求。最重要的是,分布式架构可以承受更大规模的并发流量。
2、Dubbo需要 Web 容器吗?
答案:Dubbo不需要Web 容器。如果非要用 Web 容器,只会增加复杂性,也浪费资源,所用真的没有必要。
3、Dubbo内置了哪几种服务容器?
答案:Dubbo内置了Spring Container、Jetty Container和Log4j Container三种。Dubbo的服务容器只是一个简单的 Main 方法,并加载一个简单的 Spring 容器,用于暴露服务。
4、Dubbo默认使用的是什么通信框架,还有别的选择吗?
答案:Dubbo默认使用Netty框架,也是推荐的选择,另外内容还集成有Mina、Grizzly。
5、一般使用什么注册中心?还有别的选择吗?
答案:一般推荐使用zookeeper注册中心,还有redis等,但不是很推荐。
6、默认使用什么序列化框架,除此之外还有哪些?
答案:默认使用Hessian序列化,还有Duddo、FastJson、Java自带序列化。
7、如果遇到集群容错你应该怎么做?
答案:读操作建议使用Failover失败自动切换,默认重试两次其他服务器。写操作建议使用Failfast快速失败,发一次调用失败就立即报错。
8、Dubbo支持服务多协议吗?
答案:Dubbo 允许配置多协议,在不同服务上支持不同协议或者同一服务上同时支持多种协议。
9、当一个服务接口有多种实现时怎么做?
答案:当一个接口有多种实现时,可以用 group 属性来分组,服务提供方和消费方都指定同一个 group 即可。
10、服务上线怎么兼容旧版本?
答案:可以用版本号(version)过渡,多个不同版本的服务注册到注册中心,版本号不同的服务相互间不引用。这个和服务分组的概念有一点类似。
11、Dubbo可以对结果进行缓存吗?
答案:Dubbo可以对结果进行缓存,Dubbo 提供了声明式缓存,用于加速热门数据的访问速度,以减少用户加缓存的工作量。
以上就是针对Java程序员整理的Dubbo面试题,大家都会做了吗?在做的过程中,大家先不要看答案,应该先自己做一做,对自己这个方面的知识点进行查漏补缺,才能在面试中表现得更好。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
在IDEA中如何使用Git?详细步骤讲解
在IDEA中如何使用Git?首先我们要安装好IntelliJ IDEA,然后在IDEA中配置Git,才能开始使用Git。下面我们来详细讲解一下在IDEA中使用Git,大概需要十个步骤,分别是在IDEA中创建工程并将工程添加至Git,将文件添加到暂存区,提交文件,将代码推送到远程仓库,从远程仓库克隆工程到本地,从远程拉取代码,版本对比,创建分支,切换分支和分支合并。
9219
2020-04-30 10:34:03
Dubbo相关配置说明
众所周知,Dubbo 是一个分布式服务框架,它运用了全Spring配置方式,今天我们就一起来看看Dubbo相关配置说明,内容具体包括包扫描、协议、启动时检查以及负载均衡。有兴趣学习的小伙伴就一起来看看吧~
4467
2020-05-21 10:17:55
从0开始学Java开发要做哪些准备?
很多从0开始学Java开发的初学者,常常在面对一大堆基础语法知识的时候,感到无从下手。其实这也是很正常的现象,毕竟编程的学习门槛虽然很低,但是学起来并不轻松,想要学好更是难上加难。那么,我们应该在学习之前做哪些准备呢?换句话说,作为零基础的初学者,我们应该如何开始Java开发的学习呢?
4427
2020-08-03 11:47:20
Node发展史介绍
如果没有服务器提供支持,没有数据库存储数据,那么我们写的代码只能在自己的电脑本地运行,网站也不能登录注册。而就是为什么要学习Node的原因,因为Node 就是做服务器的。在大家学习Node之前,我们先来看看Node发展史的介绍吧!
5185
2020-08-14 16:26:45
一文说清楚应聘Java开发工程师的基本要求
很多同学来问小谷老师,程序员之间的工资差别为什么那么大,不同等级的程序员分别需要哪些不同的技能,这篇文章小谷老师就以Java为例,讲讲其中的区别。那根据技术水平不同,Java程序员可以分为初级、中级、高级、资深等。不同级别的Java程序员,企业的要求也是有区别。
4908
2021-08-16 18:26:48