杨四正《Dubbo源码解读与实战》:掌握框架底层源码,提升实战开发能力

杨四正《Dubbo源码解读与实战》:掌握框架底层源码,提升实战开发能力插图

背景介绍

Dubbo 由阿里开源,从 Apache 孵化毕业并成为顶级项目,这款高性能、轻量级的 RPC 框架,很快就成为阿里、京东、小米、携程等大厂热衷的技术栈!
拉勾在对一线大厂的调研中发现,掌握 Dubbo 的原理与实现成为很多一线大厂的用人准则。更重要的是,RPC 框架的底层原理与设计是相通的,吃透 Dubbo 源码,也能让你对其他框架得心应手,提升你的编程思想,更好地应对微服务架构实战。

专栏解读

本专栏共 6 个模块,以结合实战的方式深度解读 Dubbo 源码,带你理解核心功能实现,更好地应对实战。本专栏的设计有以下亮点:

①从基础知识开始,建立 RPC 框架知识体系:专栏第一模块介绍 URL、ZooKeeper、Curator、Netty 等基础知识,及其在 Dubbo 中的使用场景,帮助你强化理解,打好基础。

②从源码设计模式中了解优秀实践方式,提升实战开发能力:在深度理解原理之后,带你使用这些技术编写一个简易版本的 RPC 框架,串联所有知识点。

③结合实践示例,深度理解 Dubbo 的工作原理及核心实现:这几个模块是重点,学会后能应对大多数业务场景中的问题,大厂面试更加不成问题。

  • 注册中心篇:本地缓存机制、重试机制、 ZooKeeper 等注册中心的核心机制;
  • 服务通信篇:包括多种序列化算法、Remoting 层核心接口分析、Buffer 缓冲区等;
  • RPC 功能核心实现篇:核心接口、服务暴露和服务引用全流程、代理、扩展 Dubbo 框架的常用手段等;
  • 集群篇:包括 Dubbo 的负载均衡、路由规则、容错机制等。

④基于 Dubbo 全新版本,理解最新设计与原理:专栏第六模块介绍了 Dubbo 2.7.5 之后加入的服务中心架构设计,带你深度理解服务自省、元数据、配置中心相关内容的原理与特性。

讲师简介

杨四正 资深技术专家,源码剖析畅销书作者
多年互联网一线开发经验,曾在多家互联网企业任职,涉及电商、新零售、短视频、直播等多个领域。参与公司多款中间件开发,工作中深入研究并改造过多种开源产品的实现,在架构设计方面经验丰富。

课程目录

开篇词

  • 开篇词 | 深入掌握 Dubbo 原理与实现,提升你的职场竞争力

第一部分:基础知识

  • 01 | Dubbo 源码环境搭建:千里之行,始于足下
  • 02 | Dubbo 的配置总线:抓住 URL,就理解了半个 Dubbo
  • 03 | Dubbo SPI 精析,接口实现两极反转(上)
  • 04 | Dubbo SPI 精析,接口实现两极反转(下)
  • 05 | 海量定时任务,一个时间轮搞定
  • 06 | ZooKeeper 与 Curator,求你别用 ZkClient 了(上)
  • 07 | ZooKeeper 与 Curator,求你别用 ZkClient 了(下)
  • 08 | 代理模式与常见实现
  • 09 | Netty 入门,用它做网络编程都说好(上)
  • 10 | Netty 入门,用它做网络编程都说好(下)
  • 11 | 简易版 RPC 框架实现(上)
  • 12 | 简易版 RPC 框架实现(下)

第二部分:注册中心

  • 13 | 本地缓存:降低 ZooKeeper 压力的一个常用手段
  • 14 | 重试机制是网络操作的基本保证
  • 15 | ZooKeeper 注册中心实现,官方推荐注册中心实践

第三部分:服务通信

  • 16 | Dubbo Serialize 层:多种序列化算法,总有一款适合你
  • 17 | Dubbo Remoting 层核心接口分析:这居然是一套兼容所有 NIO 框架的设计?
  • 18 | Buffer 缓冲区:我们不生产数据,我们只是数据的搬运工
  • 19 | Transporter 层核心实现:编解码与线程模型一文打尽(上)
  • 20 | Transporter 层核心实现:编解码与线程模型一文打尽(下)
  • 21 | Exchange 层剖析:彻底搞懂 Request-Response 模型(上)
  • 22 | Exchange 层剖析:彻底搞懂 Request-Response 模型(下)

第四部分:RPC 功能核心实现

  • 23 | 核心接口介绍,RPC 层骨架梳理
  • 24 | 从 Protocol 起手,看服务暴露和服务引用的全流程(上)
  • 25 | 从 Protocol 起手,看服务暴露和服务引用的全流程(下)
  • 26 | 加餐:直击 Dubbo “心脏”,带你一起探秘 Invoker(上)
  • 27 | 加餐:直击 Dubbo “心脏”,带你一起探秘 Invoker(下)
  • 28 | 复杂问题简单化,代理帮你隐藏了多少底层细节?
  • 29 | 加餐:HTTP 协议 + JSON-RPC,Dubbo 跨语言就是如此简单
  • 30 | Filter 接口,扩展 Dubbo 框架的常用手段指北

第五部分:集群

  • 31 | 加餐:深潜 Directory 实现,探秘服务目录玄机
  • 32 | 路由机制:请求到底怎么走,它说了算(上)
  • 33 | 路由机制:请求到底怎么走,它说了算(下)
  • 34 | 加餐:初探 Dubbo 动态配置的那些事儿
  • 35 | 负载均衡:公平公正物尽其用的负载均衡策略,这里都有(上)
  • 36 | 负载均衡:公平公正物尽其用的负载均衡策略,这里都有(下)
  • 37 | 集群容错:一个好汉三个帮(上)
  • 38 | 集群容错:一个好汉三个帮(下)
  • 39 | 加餐:多个返回值不用怕,Merger 合并器来帮忙
  • 40 | 加餐:模拟远程调用,Mock 机制帮你搞定
  • 41 | 加餐:一键通关服务发布全流程
  • 42 | 加餐:服务引用流程全解析

第六部分:服务自省、元数据与配置中心

  • 43 | 服务自省设计方案:新版本新方案
  • 44 | 元数据方案深度剖析,如何避免注册中心数据量膨胀?
  • 45 | 加餐:深入服务自省方案中的服务发布订阅(上)
  • 46 | 加餐:深入服务自省方案中的服务发布订阅(下)
  • 47 | 配置中心设计与实现:集中化配置 and 本地化配置,我都要(上)
  • 48 | 配置中心设计与实现:集中化配置 and 本地化配置,我都要(下)

结束语

  • 结束语 | 认真学习,缩小差距