在线客服
扫描二维码
下载博学谷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面试题,大家都会做了吗?在做的过程中,大家先不要看答案,应该先自己做一做,对自己这个方面的知识点进行查漏补缺,才能在面试中表现得更好。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
ServiceComb技术点教程哪里有?
博学谷的ServiceComb教程讲解概念及应用,ServiceComb 作为Apache开源组织下的一款微服务框架,其前身为华为云的微服务引擎 CSE云服务。学习后能够使用华为公司提供的微服务解决方案,解决微服务开发基本问题。
5597
2019-11-11 18:20:29
Java程序员常见并发编程问题集锦
Java语言从第一个版本就内置了对多线程的支持,但是从事Java开发工作的人都知道,编写优质的并发代码难度非常大。相信通过大量的时间之后,会对并发编程有更多的认识,甚至可以获取更多编发编程的方案与选择。这里与大家一起探讨一下Java程序员培训中经常遇到的并发编程的问题。
4611
2019-11-25 18:53:47
分布式版本控制Git工作原理是什么?
分布式版本控制Git适合分布式开发,强调个体;公共服务器压力和数据量不会太大;速度快灵活;任意两个开发者之间可以很容易的解决冲突;离线工作。 但学习周期相对而言比较长;不符合常规思维;代码保密性差,开发者把整个库克隆下来可以完全公开所有代码和版本信息。
5106
2020-02-20 17:10:36
0基础自学Java可行吗?
0基础自学Java可行吗?这个问题没有人可以打包票告诉你一个准确的答案,毕竟每个人的学习能力和天赋都是不一样的,但是有一点可以确定,只要找准了方向,愿意踏踏实实的努力学习,完全0基础也可以学好Java。因此对于零基础的学习者而言,要思考的不是自己行不行,而是应该怎么做。只有在摆正了学习心态的基础上,我们才能来讨论自学Java的相关问题。
4129
2020-04-17 18:55:52
Java学习笔记之方法
方法是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。需要注意的是,方法必须先创建才可以使用,该过程成为方法定义,而且方法创建后并不是直接可以运行的,需要手动使用后才执行,该过程成为方法调用。下面我们一起来梳理一下关于方法的Java学习笔记吧~
3937
2020-05-21 16:11:09