image

编辑人: 独留清风醉

calendar2025-06-06

message6

visits665

说说你了解的Dubbo架构

分析&回答

Dubbo 的两大设计原则

  1. Dubbo 使用“微内核+插件”的设计模式。内核只负责组装插件(扩展点),Dubbo 的功能都是由插件实现的,无限开放性设计架构,也就是 Dubbo 的所有功能点都可被用户自定义扩展、增强、替换。(SPI了解)
  2. 采用 URL 作为配置信息的统一格式,所有扩展点都通过传递 URL 携带配置信息。

Dubbo 的三大领域模型

  1. Protocol 服务域 :是 Invoker 暴露和引用的主功能入口,它负责 Invoker 的生命周期管理。
  2. Invoker 实体域 :是 Dubbo 的核心模型,其它模型都向它靠拢,或转换成它,它代表一个可执行体,可向它发起 invoke 调用,它有可能是一个本地的实现,也可能是一个远程的实现,也可能一个集群实现。
  3. Invocation 会话域 :它持有调用过程中的变量,比如方法名,参数等。

Dubbo 的四大组件

  1. Provider :服务提供者。
  2. Consumer :服务消费者。
  3. Registry :服务注册与发现的中心,提供目录服务。
  4. Monitor :服务监控,统计服务的调用次数、调用时间等信息的日志服务,并可以对服务设置权限、降级处理等,称为服务管控中心。

Dubbo 的十层架构

image-1691391409466

反思&扩展

为什么dubbo用url不用json?

个人理解,dubbo的应用场景涉及各种通信协议,url更契合这种通信场景,而json通用性太强了,用的话还要定义各种key,数据量会更大。


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:说说你了解的Dubbo架构

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share