Dubbo 架构与原理 专栏导览
专栏定位
本专栏聚焦 Apache Dubbo RPC 框架的架构设计与核心机制——从 SPI 微内核的插件化架构,到服务导出/引用的完整链路,再到负载均衡、集群容错和服务治理。Dubbo 是 Java 微服务生态中最成熟的 RPC 框架——理解其分层架构和扩展机制,不仅能更好地使用 Dubbo,更能理解 RPC 框架设计的通用范式。
本专栏覆盖 Dubbo 2.7 到 Dubbo 3.x 的关键演进,重点分析 Triple 协议(HTTP/2 + Protobuf)和应用级服务发现等新特性。
目标读者
- 日常使用 Dubbo 但希望理解其内部运作的后端/微服务工程师
- 需要基于 Dubbo 做服务治理(限流/熔断/灰度)的架构师
- 对 RPC 框架设计和 Netty 网络编程感兴趣的技术爱好者
专栏目录
| 序号 | 标题 | 核心内容 |
|---|---|---|
| 01 | 01 Dubbo 全局架构——服务注册、发现与调用链路 | Provider/Consumer/Registry/Monitor 四大角色、一次 RPC 调用的完整链路、SPI 扩展机制的核心地位 |
| 02 | 02 Dubbo SPI——微内核与插件化架构 | JDK SPI 的局限 → Dubbo SPI 的增强(按需加载/依赖注入/自适应扩展/@Adaptive)、ExtensionLoader 的加载机制、Wrapper 装饰器链 |
| 03 | 03 服务导出与服务引用——从 @DubboService 到网络监听 | ServiceConfig 的导出流程(Protocol → Invoker → Exporter)、ReferenceConfig 的引用流程(创建代理 → 连接 Provider)、延迟暴露与服务预热 |
| 04 | 04 注册中心——ZooKeeper、Nacos 与服务发现模型 | 接口级服务发现 vs 应用级服务发现(Dubbo 3.x)、Zookeeper 注册中心的节点结构、Nacos 注册中心的推拉模型、注册中心宕机时的本地缓存容灾 |
| 05 | 05 通信层——Netty 传输与 Dubbo 协议 | Dubbo 协议的报文格式(Magic/Flag/Body)、Netty 的 Channel 管理与心跳、Exchange 层的请求-响应关联、多协议支持(Triple/gRPC/REST) |
| 06 | 06 负载均衡与集群容错 | 四种负载均衡(Random/RoundRobin/LeastActive/ConsistentHash)、集群容错策略(Failover/Failfast/Failsafe/Forking/Broadcast)、路由规则与标签路由 |
| 07 | 07 服务治理——限流、熔断与优雅停机 | TPS Limiter 与并发控制、Sentinel 集成的熔断降级、优雅停机的注销-等待-关闭流程、服务版本与分组的灰度发布 |
| 08 | 08 Dubbo 3.x 新特性——Triple 协议与应用级服务发现 | Triple 协议(基于 HTTP/2 + Protobuf)、与 gRPC 的互通、应用级服务发现的元数据中心、Mesh 化与 Proxyless 模式 |
推荐阅读路径
核心原理路径:01 → 02 → 03 → 05
服务治理路径:04 → 06 → 07
新特性路径:08