Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

Dubbo 在哪些地方用了 SPI?

查看完整题解

参考回答

直接回答

协议 Protocol、负载均衡 LoadBalance、集群容错 Cluster、路由和调用过滤器 Filter 都有扩展入口。每个扩展点只管其中一段行为。

讲清原理

协议扩展处理暴露和远程引用。负载均衡扩展负责在候选实例里选目标。过滤器插入调用前后,可做追踪、鉴权等处理。Dubbo 用扩展名称和启用条件把实现接到对应位置。

配置名称先选扩展,再按需构造实例
配置名称先选扩展,再按需构造实例

例子与易错点

要给每次库存 RPC 添加 trace ID,可以用合适的调用过滤器。若想按租户决定可选服务器,应先考虑路由规则或路由扩展,避免把筛选逻辑塞给负载均衡。

延伸阅读 Dubbo SPI 是怎么加载实现的? · Dubbo 中有哪些典型设计模式? · 扩展 Dubbo 的行为要改框架源码吗?

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。