DUBBO 面试灵魂18问
一、Dubbo 是什么
dubbo 是一个分布式框架,是一个远程服务调用的分布式框架,其核心部分包含:
1)集群容错: 提供基于接口方法的透明远程过程调用,包含多协议支持,以及软负债均衡、失败容错、地址路由、动态配置等集群支持
2) 远程通讯:提供对多种基于长连接的NIO框架抽象封装、包括多线程模型、序列化、以及“请求-响应”模式的信息交换方式
3)自动发现:基于注册中心目录服务、使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑的增加或者减少机器
二、Dubbo能做什么
透明化的远程方法调用,只需简单的配置,没有任何API侵入
软负载均衡以及容错机制,可以在内容替代F5等硬件负载均衡器,减少单点、降低成本
服务的自动注册和发现,不再需要写死服务提供方地址、注册中心基于接口名查询服务提供者的IP 地址,并且能够平滑添加或者删除服务提供者。
三、Dubbo默认使用的是什么通信框架,还可以选择别的框架么?
默认使用netty通信框架,还可以选择mina
四、Dubbo 服务调用时阻塞的么?
Dubbo服务调用默认是阻塞的
五、Dubbo 使用哪些注册中心?
推荐使用zookeeper注册中心,也可以使用Redis注册中心、Multicast注册中心、Simple注册中心
六、Dubbo 默认使用什么序列化框架?
默认使用Hession序列化框架、Hession是一个采用二进制格式传输的服务框架,相对于传统的Soap webService 更轻便、更快速。
其他的序列化框架还有 Dubbo、FastJson 、java自带的序列化框架等
七、服务提供者能实现失效踢出是什么原理?
服务失效踢出是基于zookeeper的临时节点原理
八、服务上线如何才能不影响旧版本?
采用多版本开发,不影响旧版本。在配置中添加version来作为版本区分。
九、如何解决服务调用链过程的问题?
可以结合zipkin 实现分布式服务跟踪
十、Dubbo的核心配置有哪一些?
1)dubbo:service
2)dubbo:reference
3)dubbo:registry
4)dubbo:protocol
5)dubbo:application
6)dubbo:provider
7)dubbo:consumer
8)dubbo:method
十一、Dubbo推荐什么协议
默认使用dubbo协议
十二、同一个服务多个注册的情况下可以直接连某一个服务么?
可以直连,修改配置即可
十三、dubbo的安全机制?
dubbo通过token令牌防止用户绕过注册中心直连,然后在注册中心管理授权,dubbo提供了黑白名单,控制服务所允许的调用方
十四、dubbo的集群容错怎么做?
读操作建议使用Failover失败自动切换,默认重试两次其他服务器;写操作建议使用Failfast快速失败,发现一次调用失败就立即报错
十五、dubbo和dubbox之间的区别?
dubbox是当当网基于dubbo上做的一些扩展,如增加了 服务科restful调用,更新了开源组件等等。
十六、dubbo支持哪一些协议?
dubbo协议:单一长连接和NIO 异步通讯,适合大并发小数据量的服务调用,以及消费者远远大衣提供者,传输协议TCP,异步Hession序列化
rmi协议:基于JDK标准,传输和返回参数对象需要实现Serializable接口,使用java标准序列化机制,使用阻塞式短连接
webservice协议
Redis:基于redis实现的Rpc协议
十七、Dubbo集群的负载均衡有哪一些策略?
十八、如何处理服务调用超时?
dubbo在服务调用不成功,默认是会重试两次的。为了避免重复请求,对于核心的服务中心,应该去除dubbo的超时重试,合理的设置超时时间
最新文章
- laravel的门面模式
- 多数浏览器默认会缓存input的值,只有使用ctl+F5强制刷新的才可以清除缓存记录。
- [AHOI 2009] 维护序列(线段树模板题)
- STM32学习笔记——点亮LED
- 繁华模拟赛 vicent的字符串
- HDU 4099 Revenge of Fibonacci(高精度+字典树)
- 热力图heatmap.js使用中的思路解析
- memcache 和 redis 之间的区别
- with open为什么会自动关闭文件流
- Redis-07.Spring Data整合Jedis
- JVM读书笔记之内存管理
- Module的加载实现
- 【bzoj3174】[Tjoi2013]拯救小矮人
- JAVA项目中常用的异常处理情况
- Centos VMware 克隆后 网络配置
- MIDAS.dll 出错时 (Error loading MIDAS.DLL.)
- mfc CAnimateCtrl
- 【tensorflow】pip 安装失败的原因
- oracle性能诊断艺术-执行计划
- ssh 无密码登录要使用公钥与私钥