说说你了解的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 的十层架构

说说你了解的Dubbo架构_第1张图片

反思&扩展


为什么dubbo用url不用json?

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


为了大家更加方便的刷题,我们对文章进行了分类和整理,免费为大家提供刷题服务。程序员不欺骗程序员,赶紧扫码小程序刷起来!
请添加图片描述

为了一站式解决面者刷题问题,部分内容可能存在摘录情况,如有侵权辛苦您留言联系我们,我们会删除文章或添加引用文案,Thanks!

你可能感兴趣的:(分布式服务,dubbo,架构,面试,分布式)