1、默认使用什么序列化框架,你知道的还有哪些?
推荐使用Hessian序列化,还有Dubbo、FastJson、Java自带序列化。
2、服务提供者能实现失效踢出的是什么原理?
服务失效踢出基于zookeeper的临时节点原理。
3、服务上线怎么不影响旧版本?
采用多版本开发,不影响旧版本。
4、如何解决服务调用链过长的问题?
可以结合zipkin实现分布式服务追踪。
5、说说核心的配置有哪些?
配置 | 配置说明 |
dubbo:service | 服务配置 |
dubbo:reference | 引用配置 |
dubbo:protocol | 协议配置 |
dubbo:application | 应用配置 |
dubbo:module | 模块配置 |
dubbo:registry | 注册中心配置 |
dubbo:monitor | 监控中心配置 |
dubbo:provider | 提供方配置 |
dubbo:consumer | 消费方配置 |
dubbo:method | 方法配置 |
dubbo:argument | 参数配置 |
6、Dubbo推荐用什么协议?
dubbo://(推荐)
7、同一个服务多个注册的情况下可以直连某一个服务吗?
可以点对点直连,修改配置即可,也可以通过telnet直连某个服务。
8、画一画服务注册与发现的流程图?
9.Dubbo集群容错有几种方案?
集群容错方案 | 说明 |
Failover Cluster | 失败自动切换,自动重试其他服务器(默认) |
Failfast Cluster | 快速失败,立即报错,只发起一次调用 |
Failsafe Cluster | 失败安全,出现异常时,直接忽略 |
Failback Cluster | 失败自动恢复,记录失败请求,定时重发 |
Forking Cluster | 并行调用多个服务器,只要一个成功即返回 |
Broadcast Cluster | 广播逐个调用所有提供者,任意一个报错则报错 |
10、Dubbo服务降级,失败重试怎么做?
可以通过dubbo:reference 中设置mock="return null"。mock的值也可以修改为true,然后在跟接口同一个路径下实现一个Mock类,命名规则是"接口名称+Mock"后缀。然后在Mock类里实现自己的降级逻辑。