
├── 第1章 课程导学介绍
│ ├── 1-1 课程整体介绍–导学
│ └── 1-2 项目效果演示
├── 第2章 为什么后端开发人员必须掌握即时通讯系统的开发?
│ ├── 2-1 课程服务
│ ├── 2-2 即时通讯业务在分布式架构下的问题
│ └── 2-3 项目架构与技术栈
├── 第3章 【构建Docker环境】 手把手掌握开发环境搭建
│ ├── 3-1 开发环境搭建–本章概述
│ ├── 3-2 【基础】Open(Zulu&Oracle)JDK17与maven环境介绍
│ ├── …
│ ├── 3-8 【基础】容器化安装MySQL8数据库
│ ├── …
│ └── 3-12 【实战】容器化安装Redis7
├── 第4章 【搭建微服务基础架构】 实现微服务网关鉴权
│ ├── 4-1 微服务网关鉴权–本章概述
│ ├── …
│ ├── 4-6 【实战】Docker安装Nacos注册中心
│ ├── 4-7 【实战】构建微服务并注册到Nacos
│ ├── …
│ └── 4-10 【实战】实现微服务网关Gateway的统一路由功能
├── 第5章 【对接云短信与分布式会话】 开发通行证服务
│ ├── 5-1 开发通行证服务–本章概述
│ ├── …
│ ├── 5-8 【实战】集成Redis实现60秒用户限制发短信
│ ├── …
│ ├── 5-20 【实战】短信验证与用户登录
│ ├── …
│ └── 5-22 【实战】包装用户信息签发分布式令牌会话
├── 第6章 【掌握Redis分布式应用】 开发用户微服务与网关鉴权
│ ├── 6-1 【实战】实现用户基本信息修改
│ ├── …
│ ├── 6-7 【实战】Gateway过滤器校验token(1) – 路径匹配规则器
│ └── 6-8 【实战】Gateway过滤器校验token(2) – 完成校验逻辑
├── 第7章 【构建分布式文件服务器】 开发文件微服务
│ ├── 7-1 本章概述(加片头)
│ ├── 7-2 【实战】Springboot文件上传实现用户头像修改
│ ├── …
│ ├── 7-8 【实战】Docker 安装分布式对象存储中间件MinIO
│ ├── 7-9 【实战】MinIO实现Java客户端文件上传
│ ├── …
│ └── 7-13 【实战】OpenFeign微服务远程调用二维码上传
├── 第8章 【构建数据库多表关系】 实现好友业务与通讯录功能闭环
│ ├── 8-1 本章概述
│ ├── 8-2 【基础】好友关系需求分析与数据表解析
│ ├── …
│ ├── 8-4 【实战】扫描二维码添加好友
│ ├── …
│ └── 8-11 【实战】好友通讯录的渲染与显示
├── 第9章 【手把手开发】 开发朋友圈功能
│ ├── 9-1 本章概述
│ ├── 9-2 【基础】朋友圈需求分析与数据表解析
│ ├── 9-3 【实战】发布图文朋友圈并入库
│ ├── …
│ └── 9-11 【实战】发表朋友圈评论并入库
├── 第10章 【手把手构建Netty】 开发聊天服务websocket
│ ├── 10-1 本章概述
│ ├── …
│ ├── 10-5 【基础】BIO、NIO与AIO的区别与理解
│ ├── …
│ ├── 10-8 【实战】构建Netty的聊天服务器
│ ├── …
│ └── 10-21 【实战】客户端与服务端的心跳机制
├── 第11章 【分布式消息队列技术】 落地离线消息存储方案
│ ├── 11-1 本章概述
│ ├── …
│ ├── 11-7 【基础】RabbitMQ工作模型
│ ├── 11-8 【实战】Docker安装配置RabbitMQ
│ ├── …
│ └── 11-13 【实战】聊天信息数据异步解耦并保存入库
├── 第12章 【Netty集群架构】 手把手构建Netty集群
│ ├── 12-1 本章概述
│ ├── 12-2 【思路】Netty单体架构问题剖析
│ ├── …
│ ├── 12-6 【进阶】Zookeeper 入门概述与工作机制
│ ├── …
│ ├── 12-16 【进阶】向Zookeeper注册Netty服务节点
│ ├── …
│ └── 12-24 -1 【进阶】Netty集群结合MQ广播聊天消息
├── 第13章 【容器化部署】 手把手搭建线上云架构
│ ├── 13-1 搭建云架构–本章概述
│ ├── 13-2 【技巧】选购云服务器与配置
│ ├── …
│ ├── 13-20 【云部署】编写DockerFile打包容器镜像
│ ├── …
│ └── 13-29 【云部署】发布并运行Netty集群
└── 第14章 课程总结
└── 14-1 课程总结