dubbo 面试中问的很多,总结分享下自己遇到的 dubbo 基础面试题。
1、什么是 dubbo?
简单回答 dubbo 是 RPC 远程服务调用框架,也是一个 soa 服务治理框架。
2、dubbo 架构流程图?
生产者:提供服务
消费者: 调用服务
注册中心:注册信息(redis、zookeeper)
监控中心:调用次数、关系依赖等。
理解介绍:
首先生产者将服务注册到注册中心(zookeeper),使用 zk 持久节点进行存储,消费订阅 zookeeper 节点,一旦有节点变更,zookeeper 通过事件通知传递给消费者,消费可以调用生产者服务。
服务与服务之间进行调用,都会在监控中心中,存储一个记录。
3、dubbo 有哪些协议?
默认用的 dubbo 协议、Http 协议、RMI 协议、Hessian 协议
4、什么是 dubbo 服务治理?
服务与服务之间会有很多个 Url、依赖关系、负载均衡、容错、自动注册服务。
5、dubbox 与 dubbo 区别?
Dubox 是当当网基于 dubbo上做了一些扩展,如加了服务可 restful 调用,更新了开源组件等。
Dubox 使用 http 协议+rest 风格传入 json 或者 xml 格式进行远程调用。
Dubbo 使用 Dubbo 协议。
6、 你还了解别的分布式框架吗(RPC 远程调用框架)?
SpringCloud、dubbo、dubbox、thint、Hessian …...
Rpc 其实就是远程调用,服务与服务之间相互进行通讯,目前主流用 http+json 。
7、了解 SpringCloud 吗?讲下SpringCloud 与 dubbo 区别?
相同点:
dubbo 与 springcloud 都可以实现RPC远程调用。
dubbo 与 springcloud 都可以使用分布式、微服务场景下。
区别:
dubbo 有比较强的背景,在国内有一定影响力。
dubbo 使用 zookeeper 或 redis 作为作为注册中心。
springcloud 使用 eureka 作为注册中心。
dubbo 支持多种协议,默认使用 dubbo 协议。
Springcloud 只能支持 http 协议。
Springcloud 是一套完整的微服务解决方案。
dubbo 目前已经停止更新,SpringCloud 更新速度快。
水平有限,若有问题请留言交流!
互相学习,共同进步 :) 转载请注明出处谢谢!
转载于:https://my.oschina.net/hp2017/blog/1932446