dubbo hibernate懒加载_Dubbo面试问题整理

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

1f77643bbd3c1346d78ad08990384bab.png

Dubbo核心架构图

Dubbo 核心的配置有哪些?

61940998efc714a253399383b42f9ec3.png

在 Provider上可以配置的 Consumer 端的属性有哪些?

  1. timeout:方法调用超时
  2. retries:失败重试次数,默认重试 2 次
  3. loadbalance:负载均衡算法,默认随机
  4. actives 消费者端最大并发调用限制

Dubbo启动时如果依赖的服务不可用会怎样?

Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check="true"。

可以通过 check="false" 关闭检查,比如,测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。

另外,如果你的 Spring 容器是懒加载的,或者通过 API 编程延迟引用服务,请关闭 check,否则服务临时不可用时,会抛出异常,拿到 null 引用,如果 check="false",总是会返回引用,当服务恢复时,能自动连上。

Dubbo推荐使用什么序列化框架,你知道的还有哪些?

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

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

Dubbo 默认使用 Netty 框架,也是推荐的选择,另外内容还集成有Mina、Grizzly。

Dubbo支持服务多协议吗?

  1. Dubbo 允许配置多协议,在不同服务上支持不同协议或者同一服务上同时支持多种协议。
  2. 不同服务在性能上适用不同协议进行传输,比如大数据用短连接协议,小数据大并发用长连接协议
  3. 需要与 http 客户端互操作时,可以采用多协议暴露服务

当一个服务接口有多种实现时怎么做?

当一个接口有多种实现时,可以用 group 属性来分组,服务提供方和消费方都指定同一个 group 即可。

服务上线怎么兼容旧版本?

可以用版本号(version)过渡,多个不同版本的服务注册到注册中心,版本号不同的服务相互间不引用。这个和服务分组的概念有一点类似。

Dubbo可以对结果进行缓存吗?

可以,Dubbo 提供了声明式缓存,用于加速热门数据的访问速度,以减少用户加缓存的工作量。

lru 基于最近最少使用原则删除多余缓存,保持最热的数据被缓存。(默认缓存机制)threadlocal 当前线程缓存,比如一个页面渲染,用到很多 portal,每个 portal 都要去查用户信息,通过线程缓存,可以减少这种多余访问。jcache 与 JSR107 集成,可以桥接各种缓存实现。ExpiringCache,基于有效时间的缓存,默认缓存时间为180s, 每4秒检查一次是否过期。

服务读写推荐的容错策略是怎样的?

  1. 读操作建议使用 Failover 失败自动切换,默认重试两次其他服务器。
  2. 写操作建议使用 Failfast 快速失败,发一次调用失败就立即报错。

Dubbo内置了哪几种服务容器?

服务容器是一个 standalone 的启动程序,因为后台服务不需要 Tomcat 或 JBoss 等 Web 容器的功能,如果硬要用 Web 容器去加载服务提供方,增加复杂性,也浪费资源。

服务容器只是一个简单的 Main 方法,并加载一个简单的 Spring 容器,用于暴露服务。

Spring Container

自动加载 META-INF/spring 目录下的所有 Spring 配置。

Log4j Container

自动配置 log4j 的配置,在多进程启动时,自动给日志文件按进程分目录。

Logback Container

Dubbo RPC 调用图

594e7ddcd2e3f882fcadb07274209e8b.png

Dubbo RPC调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值