SpringCloud+Netty集群实战千万级 IM系统 | 14章完结
掌握IM系统架构与开发核心问题解决方案,一课吃透大型IM系统聊天技术

本课程从0带领大家构建一套功能强大的企业级大型即时通讯(IM)系统。通过深入学习,能够掌握大型IM系统聊天服务的构建与核心业务功能的开发和特定场景下问题的解决方案,积累丰富的IM系统开发项目经验,轻松应对各种业务场景中聊天功能开发相关需求。

适合人群
1-3年开发经验的后端开发者
需要有一个高颜值的项目实战去面试或者进行毕业设计的
对即时通讯业务有学习需求的
技术储备
具备Java、MySql数据库基础
环境参数
操作系统 Windows或MacOS
开发环境 Idea 2023
数据库 MySql8

试看链接:https://pan.baidu.com/s/1r2cJN-RPxCeFILuxpKBq2A?pwd=k6jc

目录大纲:

  • 第1章 课程导学介绍 试看2 节 | 19分钟

    本章主要对课程整体内容进行介绍,让大家对课程内容有全面的了解。

    收起列表

    • 视频:1-1 课程整体介绍–导学 (14:19)试看
    • 视频:1-2 项目效果演示 (03:55)试看
  • 第2章 为什么后端开发人员必须掌握即时通讯系统的开发?3 节 | 15分钟

    本章主要讲解为什么后端开发人员必须掌握即时通讯系统的开发,以及在分布式架构下即时通讯系统要解决的问题有哪些,项目架构及技术选型详细讲解等。

    收起列表

    • 视频:2-1 课程服务 (02:50)
    • 视频:2-2 即时通讯业务在分布式架构下的问题 (04:15)
    • 视频:2-3 项目架构与技术栈 (07:22)
  • 第3章 【构建Docker环境】 手把手掌握开发环境搭建17 节 | 138分钟

    本章先讲解基础环境说明,以及构建docker本地化环境与安装基础中间件等。

    收起列表

    • 视频:3-1 开发环境搭建–本章概述 (02:09)
    • 视频:3-2 【基础】Open(Zulu&Oracle)JDK17与maven环境介绍 (11:18)
    • 视频:3-3 【基础】虚拟化与容器化技术架构剖析 (10:28)
    • 视频:3-4 【基础】安装DockerDesktop (05:44)
    • 视频:3-5 【拓展】Docker 架构与隔离机制 (12:07)
    • 视频:3-6 【拓展】内网互通原则(私有专有网络) (09:07)
    • 视频:3-7 【基础】数据库选型对比抉择 (07:22)
    • 视频:3-8 【基础】容器化安装MySQL8数据库 (17:18)
    • 图文:3-9 【文档】容器化安装MySQL8数据库
    • 视频:3-10 【基础】进入MySQL容器内部和数据库可视化工具 (12:39)
    • 图文:3-11 【文档】进入MySQL容器内部和数据库可视化工具
    • 视频:3-12 【实战】容器化安装Redis7 (09:30)
    • 图文:3-13 【文档】容器化安装Redis7
    • 视频:3-14 【实战】Redis可视化数据管理工具 (05:55)
    • 视频:3-15 【进阶】Redis持久化策略-RDB (17:39)
    • 视频:3-16 【进阶】Redis持久化策略-AOF (14:01)
    • 视频:3-17 本章小结 (02:36)
  • 第4章 【搭建微服务基础架构】 实现微服务网关鉴权15 节 | 203分钟

    本章主要讲解构建父子maven聚合项目,及搭建最新版微服务基础框架,构建微服务注册中心与构建微服务网关。

    收起列表

    • 视频:4-1 微服务网关鉴权–本章概述 (03:21)
    • 视频:4-2 【基础】构建maven分层聚合项目 (20:59)
    • 视频:4-3 【基础】SpringBoot3与微服务版本依赖构建 (18:03)
    • 视频:4-4 【基础】搭建新版分布式微服务架构 (20:19)
    • 视频:4-5 【基础】idea设置微历史微服务列表 (06:09)
    • 视频:4-6 【实战】Docker安装Nacos注册中心 (12:34)
    • 视频:4-7 【实战】构建微服务并注册到Nacos (10:20)
    • 视频:4-8 【基础】构建SpringBoot多环境profile配置 (07:13)
    • 视频:4-9 【实战】微服务网关Gateway原理与构建 (14:18)
    • 视频:4-10 【进阶】网关高并发流量防刷 – Redis整合与通用工具类. (16:34)
    • 视频:4-11 【实战】实现微服务网关Gateway的统一路由功能. (16:24)
    • 视频:4-12 【进阶】网关高并发流量防刷 – 网关基本结构与异常返回. (21:48)
    • 视频:4-13 【进阶】网关高并发流量防刷 – 防刷逻辑落地. (17:59)
    • 视频:4-14 【进阶】网关高并发流量防刷 – 分布式动态参数配置 (11:54)
    • 视频:4-15 本章小结. (04:43)
  • 第5章 【对接云短信与分布式会话】 开发通行证服务25 节 | 214分钟

    本章主要讲解集成云短信功能,及限制用户的频繁发送短信,保护平台接口,实现短信登录功能,创建用户的分布式会话,结合RTOKEN来实现用户会话的校验与放行,对于首次登录的用户需要信息入库,退出登录清除token与会话等。…

    收起列表

    • 视频:5-1 开发通行证服务–本章概述 (03:31)
    • 视频:5-2 【基础】手机短信验证码一键注册登录流程阐述 (05:17)
    • 视频:5-3 【基础】数据库用户表设计详述 (04:11)
    • 视频:5-4 【基础】腾讯云短信SDK申请与秘钥配置 (07:08)
    • 视频:5-5 【基础】微服务集成云短信功能 (13:15)
    • 视频:5-6 【实战】构建异步任务发送短信 (06:31)
    • 视频:5-7 【实战】通用服务抽取公用api (06:19)
    • 视频:5-8 【实战】集成Redis实现60秒用户限制发短信 (12:25)
    • 视频:5-9 【实战】使用拦截器限制60秒短信发送 (19:23)
    • 视频:5-10 【基础】使用Postman进行Api接口调用 (05:18)
    • 视频:5-11 【实战】Hbuilder使用H5运行前端项目 (08:59)
    • 视频:5-12 【实战】Hbuilder使用IOS模拟器运行前端项目 (04:33)
    • 视频:5-13 【实战】Hbuilder使用Android真机运行前端项目 (05:25)
    • 视频:5-14 【实战】Hbuilder使用Android模拟器运行前端项目 (04:33)
    • 视频:5-15 【实战】短信验证与用户注册1 – 基本需求分析 (11:13)
    • 视频:5-16 【实战】短信验证与用户注册2 – 逆向生成数据库对象 (18:27)
    • 视频:5-17 【实战】短信验证与用户注册3 – 详述数据源HikariCP (08:41)
    • 视频:5-18 【实战】短信验证与用户注册3 – 完成用户信息入库 (19:14)
    • 视频:5-19 【作业】优化注册接口业务 (03:25)
    • 视频:5-20 【实战】短信验证与用户登录 (05:05)
    • 视频:5-21 【实战】使用Hibernate-Validate进行参数校验 (12:49)
    • 视频:5-22 【实战】包装用户信息签发分布式令牌会话 (14:44)
    • 视频:5-23 【延伸】优化合并一键注册登录 (06:18)
    • 视频:5-24 【实战】用户退出登录清理分布式会话 (03:17)
    • 视频:5-25 本章小结 (03:56)
  • 第6章 【掌握Redis分布式应用】 开发用户微服务与网关鉴权10 节 | 115分钟

    本章主要讲解用户基础信息的维护,用户信息校验,合并处理用户信息优化等。

    收起列表

    • 视频:6-1 【实战】实现用户基本信息修改 (12:23)
    • 视频:6-2 【实战】重新签发分布式会话 (16:54)
    • 视频:6-3 【实战】年度次数限制微信号修改 (07:24)
    • 视频:6-4 【进阶】AOP计算统计service业务执行时间 (18:32)
    • 视频:6-5 【进阶】StopWatch秒表时间的优雅统计 (09:02)
    • 视频:6-6 【进阶】服务状态与认证方案 (16:11)
    • 视频:6-7 【实战】Gateway过滤器校验token(1) – 路径匹配规则器 (17:00)
    • 视频:6-8 【实战】Gateway过滤器校验token(2) – 完成校验逻辑 (11:58)
    • 视频:6-9 本章小结 (03:01)
    • 视频:6-10 本章概述 (02:22)
  • 第7章 【构建分布式文件服务器】 开发文件微服务16 节 | 178分钟

    本章主要讲解对文件服务器的搭建与微服务整合,及文件资源的上传与管理等。

    收起列表

    • 视频:7-1 本章概述(加片头) (02:44)
    • 视频:7-2 【实战】Springboot文件上传实现用户头像修改 (17:52)
    • 视频:7-3 【实战】SpringBoot 静态资源映射 (08:34)
    • 视频:7-4 【实战】网关为静态资源服务开放白名单 (04:17)
    • 视频:7-5 【实战】统一限制文件上传大小 (03:58)
    • 视频:7-6 【进阶】分布式文件存储方案的架构演变 (08:54)
    • 视频:7-7 【进阶】分布式存储技术选型 (07:54)
    • 视频:7-8 【实战】Docker 安装分布式对象存储中间件MinIO (16:09)
    • 视频:7-9 【实战】MinIO实现Java客户端文件上传 (14:43)
    • 视频:7-10 【实战】SpringBoot整合MinIO实现头像上传 (14:26)
    • 视频:7-11 【实战】OpenFeign实现微服务远程调用 (17:51)
    • 视频:7-12 【实战】生成微信隔个人二维码 (20:29)
    • 视频:7-13 【实战】OpenFeign微服务远程调用二维码上传 (14:23)
    • 视频:7-14 -1【实战】朋友圈封面设置与展示 (13:57)
    • 视频:7-15 -2【实战】朋友圈封面设置与展示 (06:32)
    • 视频:7-16 本章小结 (04:25)
  • 第8章 【构建数据库多表关系】 实现好友业务与通讯录功能闭环16 节 | 167分钟

    本章主要讲解添加微信好友与信息入库,以及好友列表与信息展示,拉黑与删除业务的解析与落地。

    收起列表

    • 视频:8-1 本章概述 (04:32)
    • 视频:8-2 【基础】好友关系需求分析与数据表解析 (04:30)
    • 视频:8-3 【实战】微信号搜索精确匹配好友 (15:31)
    • 视频:8-4 【实战】扫描二维码添加好友 (06:56)
    • 视频:8-5 【基础】好友请求需求分析与数据表解析 (02:45)
    • 视频:8-6 【实战】发送添加好友请求 (15:46)
    • 视频:8-7 -1 【实战】分页查询历史好友请求记录列表 (18:30)
    • 视频:8-8 -2 【实战】分页查询历史好友请求记录列表 (18:43)
    • 视频:8-9 【实战】同意好友请求创建双方好友关系 (17:33)
    • 视频:8-10 【实战】查询好友关系显示用户备注 (08:33)
    • 视频:8-11 【实战】好友通讯录的渲染与显示 (17:28)
    • 视频:8-12 【基础】实现修改好友备注功能 (10:25)
    • 视频:8-13 【实战】好友黑名单与恢复好友功能实现 (08:32)
    • 视频:8-14 【实战】好友黑名单列表展示 (05:39)
    • 视频:8-15 【实战】删除好友功能实现 (05:12)
    • 视频:8-16 本章小结 (05:30)
  • 第9章 【手把手开发】 开发朋友圈功能14 节 | 162分钟

    本章主要讲解朋友圈的信息入库与查询,点赞与留言,未读消息设计与开发等。

    收起列表

    • 视频:9-1 本章概述 (04:20)
    • 视频:9-2 【基础】朋友圈需求分析与数据表解析 (10:56)
    • 视频:9-3 【实战】发布图文朋友圈并入库 (09:49)
    • 视频:9-4 【实战】上传朋友圈图片并发表 (09:11)
    • 视频:9-5 【实战】查询我的朋友圈列表并展示 (20:47)
    • 视频:9-6 【补充】多表关联一并展示好友朋友圈 (05:19)
    • 视频:9-7 【实战】点赞或取消点赞朋友圈 (23:18)
    • 视频:9-8 【实战】查询朋友圈点赞的好友列表 (08:54)
    • 视频:9-9 【实战】查询并判断某人是否点赞朋友圈 (08:31)
    • 视频:9-10 【实战】点赞后刷新最新列表 (03:50)
    • 视频:9-11 【实战】发表朋友圈评论并入库 (17:14)
    • 视频:9-12 【实战】查询朋友圈的评论列表 (24:22)
    • 视频:9-13 【实战】删除朋友圈评论 (08:34)
    • 视频:9-14 【实战】朋友圈删除图文数据 (06:39)
  • 第10章 【手把手构建Netty】 开发聊天服务websocket28 节 | 307分钟

    本章主要讲解对Netty原理进行解析,构建Netty的基础聊天微服务,聊天消息的收发,心跳机制检测与主动断开,用户微信聊天历史记录存储,用户会话处理等。

    收起列表

    • 视频:10-1 本章概述 (04:52)
    • 视频:10-2 【基础】Netty初见之概述 (08:04)
    • 视频:10-3 【基础】详述阻塞与非阻塞、同步与异步 (03:35)
    • 视频:10-4 【基础】什么是BIO与NIO (07:25)
    • 视频:10-5 【基础】BIO、NIO与AIO的区别与理解 (06:16)
    • 视频:10-6 【基础】Netty概念回顾理解 (04:11)
    • 视频:10-7 【基础】详述Netty三种线程模型 (07:57)
    • 视频:10-8 【实战】构建Netty的聊天服务器 (19:08)
    • 视频:10-9 【实战】设定channel的初始化器 (10:56)
    • 视频:10-10 【实战】编写HTTP自定义助手类 (15:04)
    • 视频:10-11 【实战】Http服务器的启动、请求、调用分析 (07:58)
    • 视频:10-12 【实战】Netty服务的生命周期 (07:46)
    • 视频:10-13 【基础】实时通信的方案抉择 (06:54)
    • 视频:10-14 【实战】WebSocket初始化器initialzer与handler (25:48)
    • 视频:10-15 【实战】聊天会话管理 – ChannelGroup客户端群组 (10:56)
    • 视频:10-16 【实战】聊天会话管理 – 多端多设备用户会话 (24:15)
    • 视频:10-17 【实战】聊天会话管理 – 移除用户会话 (06:35)
    • 视频:10-18 【实战】允许用户多端登录token改造 (11:05)
    • 视频:10-19 【进阶】聊天消息 – 发送文字给同账户多端设备 (13:04)
    • 视频:10-20 【进阶】聊天消息 – 多端同步自己的文字消息 (07:25)
    • 视频:10-21 【实战】客户端与服务端的心跳机制 (14:31)
    • 视频:10-22 【实战】聊天消息 – 表情类型收发 (07:10)
    • 视频:10-23 【实战】聊天消息 – 图片类型收发 (06:43)
    • 视频:10-24 【实战】聊天消息 – 视频上传与封面截帧 (19:17)
    • 视频:10-25 【实战】聊天消息 – 语音类型收发 (09:31)
    • 视频:10-26 【实战】聊天消息 – 百度AI语音转文字 (17:26)
    • 视频:10-27 【实战】使用OKHttp查询黑名单,禁止黑名单消息发送 (17:23)
    • 视频:10-28 本章小结 (05:32)
  • 第11章 【分布式消息队列技术】 落地离线消息存储方案17 节 | 160分钟

    本章主要对聊天消息的存储架构原理进行解析,安装rabbitmq消息队列,集成消息队列,实现在线与离线消息架构等。

    收起列表

    • 视频:11-1 本章概述 (04:27)
    • 视频:11-2 【基础】聊天消息异步存储架构剖析 (04:18)
    • 视频:11-3 【基础】聊天消息数据表分析 (03:16)
    • 视频:11-4 【基础】大白话阐述解耦场景需求 (05:41)
    • 视频:11-5 【基础】大白话告诉你什么是MQ- (05:32)
    • 视频:11-6 【基础】MQ选型与应用场景 (12:18)
    • 视频:11-7 【基础】RabbitMQ工作模型 (06:35)
    • 视频:11-8 【实战】Docker安装配置RabbitMQ (09:45)
    • 图文:11-9 【文档】Docker安装配置RabbitMQ
    • 视频:11-10 【实战】RabbitMQ管理控制台 (04:36)
    • 视频:11-11 【实战】RabbitMQ集成SpringBoot(上) – 异步解耦 (20:28)
    • 视频:11-12 【实战】RabbitMQ集成SpringBoot(下) – 监听消费 (10:02)
    • 视频:11-13 【实战】聊天信息数据异步解耦并保存入库 (27:50)
    • 视频:11-14 【实战】聊天信息的未读总数展示与清除 (17:49)
    • 视频:11-15 【实战】实现分页查询并展示聊天消息 (15:12)
    • 视频:11-16 【实战】语音消息的已读签收标记 (06:14)
    • 视频:11-17 本章小结 (05:27)
  • 第12章 【Netty集群架构】 手把手构建Netty集群 27 节 | 348分钟

    本章主要解析Netty集群架构,向Zookeeper注册Netty服务,手写负载均衡,用户会话与Netty的粘性,消息扩散多Netty节点,Netty集群架构优化的另外两种方案解析等。

    收起列表

    • 视频:12-1 本章概述 (05:24)
    • 视频:12-2 【思路】Netty单体架构问题剖析 (05:42)
    • 视频:12-3 【思路】Netty集群服务注册方案 (10:56)
    • 视频:12-4 【进阶】构建Jedis客户端连接池服务 (13:36)
    • 视频:12-5 【进阶】使用Redis动态分配Netty集群端口 (21:09)
    • 视频:12-6 【进阶】Zookeeper 入门概述与工作机制 (16:38)
    • 视频:12-7 【进阶】Zookeeper数据结构与应用场景 (17:04)
    • 图文:12-8 【文档】Docker 安装与配置Zookeeper
    • 视频:12-9 【进阶】Docker 安装与配置Zookeeper (11:54)
    • 视频:12-10 【进阶】PrettyZoo控制管理端 (07:17)
    • 视频:12-11 【进阶】Zookeeper 核心配置详述 (06:03)
    • 视频:12-12 【进阶】Zookeeper 基本操作与节点类型 (06:05)
    • 视频:12-13 【进阶】Zookeeper 节点元数据信息 (04:45)
    • 视频:12-14 【进阶】Zookeeper 节点事件监听watcher (09:40)
    • 视频:12-15 【进阶】实现Curator整合Netty服务 (16:45)
    • 视频:12-16 【进阶】向Zookeeper注册Netty服务节点 (21:48)
    • 视频:12-17 【进阶】Curator整合SpringBoot (14:48)
    • 视频:12-18 【进阶】手写客户端负载均衡之最少连接数 (19:58)
    • 视频:12-19 【进阶】Zookeeper在线人数累加累减与清除 (24:16)
    • 视频:12-20 【进阶】Curator 控制分布式读写锁 (10:24)
    • 视频:12-21 【图解】Redis中Netty端口残留缓存清理方案 (04:55)
    • 视频:12-22 【进阶】SpringBoot监听ZK节点删除残留缓存端口 (21:39)
    • 视频:12-23 【进阶】Netty服务监听消息队列 (25:41)
    • 视频:12-24 -1 【进阶】Netty集群结合MQ广播聊天消息 (14:34)
    • 视频:12-25 -2 【进阶】Netty集群结合MQ广播聊天消息 (14:22)
    • 视频:12-26 【进阶】RabbitAdmin删除残留队列 (11:03)
    • 视频:12-27 本章小结 (11:04)
  • 第13章 【容器化部署】 手把手搭建线上云架构 33 节 | 187分钟

    本章主要讲解购买服务器与环境安装,部署中间件,打包项目,构建项目的镜像与发布等。

    收起列表

    • 视频:13-1 搭建云架构–本章概述 (03:09)
    • 视频:13-2 【技巧】选购云服务器与配置 (14:20)
    • 视频:13-3 【技巧】使用SSH工具连接云服务器 (10:28)
    • 视频:13-4 【技巧】云安装Docker容器 (10:00)
    • 视频:13-5 【技巧】Docker云部署MySql8数据库与数据迁移 (09:18)
    • 图文:13-6 【文档】Docker安装MySql8数据库
    • 视频:13-7 【技巧】Docker云部署Redis (03:57)
    • 图文:13-8 【文档】Docker安装Redis
    • 视频:13-9 【技巧】Docker云部署RabbitMQ (05:57)
    • 图文:13-10 【文档】Docker安装RabbitMQ
    • 视频:13-11 【技巧】Docker云部署Zookeeper (07:13)
    • 图文:13-12 【文档】Docker安装Zookeeper
    • 视频:13-13 【技巧】Docker云部署MinIO (03:23)
    • 图文:13-14 【文档】Docker安装MinIO
    • 视频:13-15 【技巧】Docker云部署Nacos (04:29)
    • 图文:13-16 【文档】Docker云部署Nacos
    • 视频:13-17 【云部署】配置项目profile生产环境参数 (22:31)
    • 视频:13-18 【云部署】Maven打包插件的构建与使用 (09:15)
    • 图文:13-19 【文档】Maven打包插件的构建与使用
    • 视频:13-20 【云部署】编写DockerFile打包容器镜像 (07:00)
    • 图文:13-21 【文档】编写DockerFile打包容器镜像
    • 视频:13-22 【云部署】发布微服务 gateway (10:51)
    • 图文:13-23 【文档】发布微服务 gateway
    • 视频:13-24 【云部署】发布微服务 auth-service (12:34)
    • 视频:13-25 【云部署】发布微服务 file-service (05:44)
    • 图文:13-26 【文档】发布微服务 file-service
    • 视频:13-27 【云部署】发布微服务 main-service (11:06)
    • 图文:13-28 【文档】发布微服务 main-service
    • 视频:13-29 【云部署】发布并运行Netty集群 (17:13)
    • 图文:13-30 【文档】发布并运行Netty集群
    • 视频:13-31 【云调试】本地云调试微服务与Netty集群 (04:55)
    • 视频:13-32 【云部署】前端项目部署说明 (09:56)
    • 视频:13-33 本章小结 (02:59)
  • 第14章 课程总结 1 节 | 9分钟

    本章主要对课程整体内容进行梳理、串讲,帮助大家梳理课程中重难点等。

    收起列表

    • 视频:14-1 课程总结 (08:18)
本课程已完结
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。