在线客服
扫描二维码
下载博学谷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面试题,大家都会做了吗?在做的过程中,大家先不要看答案,应该先自己做一做,对自己这个方面的知识点进行查漏补缺,才能在面试中表现得更好。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java 开发中20种常用类库和 API
java开发人员应该熟悉的常用的库与API::日志、JSON解析、单测、XML解析、字节码处理、数据库连接池、集合类、邮件、加密、嵌入式SQL数据库、JDBC故障诊断以及序列化等20个方面的常用类库!
8865
2019-07-24 18:27:45
Java入门比较好的书是哪本?Java入门教材推荐
Java入门最好的书是哪本?对于刚刚入门Java的初学者而言,第一本Java入门教材必须要通俗易懂,最好能把理论知识和实战练习结合起来,而满足上述条件的书籍非《Java基础入门》莫属。《Java基础入门》是由传智播客高教产品研发部,为零基础初学者专门编著的Java学习教材。下面我们来看看这本书的详细内容吧!
5773
2019-12-05 13:09:05
SAAS开发技术教程学习哪些内容?
SAAS开发技术教程学习哪些内容?SAAS开发技术涉及的知识点有很多,比如SAAS-HRM系统概述与搭建环境,多租户数据库设计方案,组织机构管理的需求分析,部门微服务等内容。
8956
2019-11-08 12:06:37
Java程序员常用的开源工具汇总
工欲善其事必先利其器,在大家成为一个经验丰富的Java程序员之前,除了需要不断精进自己的专业技术,还要掌握一些好用的开源工具,才能在工作中事半功倍,提高开发效率。因此本文汇总了一些Java程序员的常用开源工具,包括了Selenium、Git、Notepad++、Gradle、Tomcat、Jenkins、JIRA、Docker、Spock和Maven。下面一一把这些开源工具介绍给大家。
4065
2020-02-25 11:59:25
Java学完基础之后学什么?怎么学?
Java学完基础之后学什么?需要学习HTML、css、原生js、SQL、Jquery、网络编程、设计模式、框架、Ajax等。Java基础部分学习难度较大,需要建立自己的Java编程思想,掌握各种抽象概念基本运用等,基础阶段学习很重要,Java基础学好下一阶段学习更容易。
5929
2020-09-30 11:03:11