Java高级架构Java 杂谈Spring-Boot

30 道 Dubbo 面试题及答案

2019-03-08  本文已影响3人  Java高级架构狮

Spring Eureka 从开源转变为闭源,Consul 正在崛起,而 Dubbo 又开始重新更新。目前市场上仍有不少公司使用dubbo我们也需要继续学习。

1、为什么要用Dubbo?

随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),

也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。

就这样为分布式系统的服务治理框架就出现了,Dubbo也就这样产生了。

2、Dubbo 的整体架构设计有哪些分层?

3、默认使用的是什么通信框架,还有别的选择吗?

默认也推荐使用netty框架,还有mina。

4、服务调用是阻塞的吗?

默认是阻塞的,可以异步调用,没有返回值的可以这么做。

Dubbo 是基于 NIO 的非阻塞实现并行调用,客户端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小,异步调用会返回一个 Future 对象。

5、一般使用什么注册中心?还有别的选择吗?

推荐使用 Zookeeper 作为注册中心,还有 Redis、Multicast、Simple 注册中心,但不推荐。

6、默认使用什么序列化框架,你知道的还有哪些?

推荐使用Hessian序列化,还有Duddo、FastJson、Java自带序列化。

7、服务提供者能实现失效踢出是什么原理?

服务失效踢出基于zookeeper的临时节点原理。

8、服务上线怎么不影响旧版本?

采用多版本开发,不影响旧版本。

9、如何解决服务调用链过长的问题?

可以结合zipkin实现分布式服务追踪。

10、说说核心的配置有哪些?

11、Dubbo 推荐用什么协议?

12、同一个服务多个注册的情况下可以直连某一个服务吗?

可以点对点直连,修改配置即可,也可以通过telnet直接某个服务。

13、画一画服务注册与发现的流程图?

14、Dubbo 集群容错有几种方案?

篇幅限制

篇幅限制,只能写这么多。面试知己知彼、方能百战不殆;针对于上面的面试问到的知识点我总结出了互联网公司java程序员在面试中涉及到的绝大部分架构面试题及答案做成了文档和架构视频资料免费分享给大家(包括Kafka、Mysql、Tomcat、Docker、Spring、MyBatis、Nginx、Netty、Dubbo、Redis、Spring cloud、分布式、高并发、性能调优、微服务等架构技术),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

领取方式:加群963944895,私聊管理员免费领取

写在最后:

既然看到这里了,觉得笔者写的还不错的就点个赞,加个关注呗!点关注,不迷路,持续更新!!!

上一篇下一篇

猜你喜欢

热点阅读