Java程序员Dubbo面试题有哪些
这篇文章主要介绍"Java程序员Dubbo面试题有哪些",在日常操作中,相信很多人在Java程序员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面试题有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!