一、Dubbo 简介与架构

一、Dubbo 简介与架构

1.1 应用架构演进过程

  • 单体应用:JEE、MVC
  • 分布式应用:SOA、微服务化
    1.2 Dubbo 简介
  • 一种分布式 RPC 框架,对专业知识(序列化/反序列化、网络、多线程、设计模式、性能优化等)进行了更高层的抽象和封装,提供开箱即用的特性。核心设计原则:微内核+插件体系
  • Dubbo 架构'
    *
      • Provider启动时会向注册中心把自己的元数据注册上去(比如服务IP和端口等),Consumer在启动时从注册中心订阅(第一次订阅会拉取全量数据)服务提供方的元数据,注册中心中发生数据变更会推送给订阅的Consumero在获取服务元数据后,Consumer可以发起RPC调用,在RPC调用前后会向监控中心上报统计信息(比如并发数和调用的接口)。
  • Dubbo 特性
    • 面向接口代理的高性能RPC调用
    • 服务自动注册与发现
    • 运行期流量调度
    • 智能负载均衡
    • 高度可扩展能力
    • 可视化的服务治理与运维
  • 不同架构区别
    • 单一应用架构:当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本
    • 垂直应用架构:将应用拆成互不相干的几个应用
      • 分布式服务架构
      • 流动计算架构
        1.3 总体大图
  • Dubbo 总体分层:业务层(Biz)、RPC层、Remote层
  • Dubbo 核心组件
    • 首先,服务器端(服务提供者)在框架启动时,会初始化服务实例,通过Proxy组件调用具体协议(Protocol ),把服务端要暴露的接口封装成Invoker (真实类型是AbstractProxylnvoker),然后转换成Exporter,这个时候框架会打开服务端口等并记录服务实例到内存中,最后通过Registry把服务元数据注册到注册中心
      h2
相关推荐
迎風吹頭髮4 小时前
Linux内核架构浅谈8-Linux内核与UNIX的传承:设计思想与特性差异
linux·运维·架构
sorryhc6 小时前
如何设计一个架构良好的前端请求库?
前端·javascript·架构
SandySY10 小时前
品三国谈人性
算法·架构
韩非12 小时前
if 语句对程序性能的影响
算法·架构
自由的疯12 小时前
java DWG文件转图片
java·后端·架构
IT小番茄13 小时前
Kubernetes云平台管理实战:服务发现和负载均衡(五)
架构
喜欢吃豆13 小时前
从潜在空间到实际应用:Embedding模型架构与训练范式的综合解析
python·自然语言处理·架构·大模型·微调·embedding
thginWalker14 小时前
软件的设计原理
架构
Guo_Pian15 小时前
vite核心原理
前端·架构
中昊芯英15 小时前
DeepSeek-V3.2的DSA稀疏注意力技术:在TPU平台上的效能革命与适配实践
架构