课程简介:
本课程使用Netty实现端对端通信,开发一款支持多端同时在线的即时通讯系统,采用私有通讯协议,与主流的SpringBoot完美搭配。学完后你可以掌握大型 IM 项目数据同步的原理,搞懂即时通讯完整开发流程并落地,并打造一款属于自己的即时通讯系统。
课程目录:
第1章 课程介绍与学习指南
- 图文:1-1 课前必读(不读错过一个亿)
- 视频:1-2 即时通讯系统-课程导学(11:44)
第2章 为什么要自研一套即时通讯系统?
- 视频:2-1 章节介绍(00:57)
- 视频:2-2 纵多成熟的IM系统,我们仍需要自研(08:52)
- 视频:2-3 如何自研一套即时通讯系统?(07:53)
- 视频:2-4 章节总结(01:49)
第3章 基础数据开发-用户&关系&群组
- 视频:3-1 章节介绍(01:12)
- 视频:3-2 业务系统的基石 – 用户模块业务分析&数据库设计(04:47)
- 视频:3-3 带你看看大型企业级项目使用什么结构管理项目骨架的(03:18)
- 视频:3-4 导入用户资料,删除用户资料,修改用户资料,查询用户资料(17:34)
- 视频:3-5 即时通讯中最有价值的数据 – 关系链模块业务分析&数据库设计(04:11)
- 视频:3-6 导入、添加、更新好友业务功能实现(33:00)
- 视频:3-7 删除好友、所有好友的业务功能实现(07:14)
- 视频:3-8 拉取指定好友信息&拉取所有好友信息业务功能实现(03:32)
- 视频:3-9 校验好友关系其实比你想象中的复杂(24:16)
- 视频:3-10 添加、删除、校验黑名单业务功能实现(01:39)
- 视频:3-11 获取所有好友申请列表&好友申请列表已读&审批好友申请业务功能实现(18:20)
- 视频:3-12 好友分组(类似微信的好友标签)业务介绍&DB设计(01:59)
- 视频:3-13 好友分组创建、添加&删除成员&好友分组删除业务功能实现(04:17)
- 视频:3-14 即时通讯最复杂的模块 – 群组模块业务分析&数据库设计(07:40)
- 视频:3-15 导入群、群成员(19:59)
- 视频:3-16 创建群组、修改群信息&获取群信息业务功能实现(17:10)
- 视频:3-17 获取用户加入的群列表业务功能实现(07:54)
- 视频:3-18 解散群组、转让群主业务功能实现(01:44)
- 视频:3-19 拉人入群成员、移除群聊&退出群聊业务功能实现(03:09)
- 视频:3-20 获取群成员信息&修改群成员信息接口业务功能实现(02:26)
- 视频:3-21 禁言群、禁言群成员业务功能实现(02:33)
- 图文:3-22 即时通讯为什么难?
- 图文:3-23 作业:想实现和腾讯云类似的拓展资料,数据库要如何设计?
- 视频:3-24 章节总结(03:45)
第4章 BIO,NIO&Netty入门
- 视频:4-1 章节介绍(01:44)
- 视频:4-2 BIO线程模型详解 – 彻底搞懂BIO如何工作(08:23)
- 视频:4-3 NIO线程模型详解 – 彻底搞懂NIO如何工作(11:26)
- 视频:4-4 BIO和NIO总结(03:30)
- 视频:4-5 详解Netty(03:51)
- 视频:4-6 Nett初体验-上手写第一个Netty程序(10:02)
- 图文:4-7 NIO与BIO详解
- 图文:4-8 作业:使用Netty实现分数录入返回是否及格
- 视频:4-9 章节总结(01:14)
第5章 Netty企业开发必须掌握的技能
- 视频:5-1 章节介绍(00:59)
- 视频:5-2 使用Netty实现聊天室(08:11)
- 视频:5-3 窥探编解码器 – 初识Netty编解码(08:08)
- 视频:5-4 Netty底层数据流转的核心 – pipeline机制详解(06:56)
- 视频:5-5 传输层协议TCP留给我们的难题-Netty解决半包、粘包方案(一)(10:48)
- 视频:5-6 传输层协议TCP留给我们的难题-使用私有协议解决半包、粘包(二)(10:18)
- 视频:5-7 ByteBuf核心API讲解(08:48)
- 视频:5-8 IdleStateHandler心跳机制源码详解-揭开主流注册中心心跳机制实现原理(12:07)
- 视频:5-9 Netty的源码解析-掌握Netty核心功能的实现(11:16)
- 视频:5-10 使用Netty实现文件上传(12:16)
- 图文:5-11 Nett服务端启动流程源码详解
- 图文:5-12 作业:使用Netty实现简单的HTTP服务器
- 视频:5-13 章节总结(01:30)
第6章 IM开发核心 之构建TCP网关(上)
- 视频:6-1 章节介绍(00:35)
- 视频:6-2 正式开始编写IM主程序ServerBootstrap(05:54)
- 视频:6-3 WebSocketServerProtocolHandler-给我们的程序添加webSocket支持(02:50)
- 视频:6-4 Snakeyaml解析配置文件 – 动态配置tcp程序(12:35)
- 视频:6-5 大白话讲通信协议 – 详解主流通信协议(06:52)
- 视频:6-6 私有协议编解码-设计篇(05:52)
- 视频:6-7 私有协议编解码-实现篇(14:00)
第7章 IM开发核心之构建TCP网关(下)
- 视频:7-1 章节介绍(03:37)
- 视频:7-2 登录消息 – 保存用户NioSocketChannel为channel设置自定义属性(09:56)
- 视频:7-3 分布式缓存中间件 – Redisson快速入门操作数据&发布订阅(09:46)
- 视频:7-4 用户登录网关层 – 保存用户Session(12:46)
- 视频:7-5 用户退出网关层 – 离线删除用户Session(09:28)
- 视频:7-6 服务端心跳检测 – IdleStateHandler(13:57)
- 视频:7-7 RabbitMQ的安装、发布订阅、路由模式详解(11:20)
- 视频:7-8 TCP接入RabbitMQ,打通和逻辑层交互(14:38)
- 视频:7-9 分布式TCP服务注册中心的技术选型(06:38)
- 视频:7-10 TCP服务注册 – Zookeeper注册TCP服务(12:39)
- 视频:7-11 服务改造 – TCP服务分布式改造(13:40)
- 视频:7-12 即时通讯系统支持多端登录模式-应对多端登录的场景(一)(08:16)
- 视频:7-13 即时通讯系统支持多端登录模式-应对多端登录的场景(二)(10:05)
- 视频:7-14 即时通讯系统如何支持多端登录模式-应对多端登录的场景(三)(23:08)
- 图文:7-15 拓展:详解Zookeeper
- 图文:7-16 作业:利用这两章知识来实现一个简易版的登录+单聊即时通讯系统
- 视频:7-17 章节总结(02:39)
第8章 打通业务服务器与IM服务器&多端同步
- 视频:8-1 章节介绍(02:19)
- 视频:8-2 负载均衡策略-随机模式(13:24)
- 视频:8-3 负载均衡策略-轮训模式(02:58)
- 视频:8-4 负载均衡策略-一致性hash方式(TreeMap实现)(15:36)
- 视频:8-5 配置文件配置负载均衡策略(06:42)
- 视频:8-6 回调机制介绍-业务系统和im系统同步数据(02:50)
- 视频:8-7 使用Apache-HttpClient封装http请求工具类和回调方法(06:59)
- 视频:8-8 编写用户资料变更回调(03:00)
- 视频:8-9 编写好友模块回调(08:43)
- 视频:8-10 编写群组模块回调(10:07)
- 视频:8-11 启动一个新的应用服务验证回调机制(02:44)
- 视频:8-12 tcp通知机制介绍-多端数据同步(04:02)
- 视频:8-13 封装查询用户Session工具类(07:19)
- 视频:8-14 封装MessageProducer给用户发送消息(13:41)
- 视频:8-15 编写用户资料变更通知(06:30)
- 视频:8-16 编写好友模块TCP通知(10:06)
- 视频:8-17 封装GroupMessageProducer给群组用户发送消息(04:43)
- 视频:8-18 编写群组模块TCP通知(07:47)
- 视频:8-19 TCP服务处理逻辑层投递的MQ消息(08:41)
- 视频:8-20 接口调用鉴权加密-加解密算法HMAC-SHA256演示(03:00)
- 视频:8-21 接口调用鉴权加密-统一入口拦截器加密校验用户请求(20:55)
- 图文:8-22 拓展:RabbitMQ简介
- 图文:8-23 根据一致性hash自己实现一个自定义负载均衡策略
- 视频:8-24 章节总结(00:34)
第9章 消息业务的流程之打通消息收发核心
- 视频:9-1 章节介绍(00:57)
- 视频:9-2 重中之重 – 消息收发核心流程梳理(03:17)
- 视频:9-3 单聊消息分发逻辑-RabbitMQ连接tcp层和网关层(08:56)
- 视频:9-4 单聊消息分发逻辑-发送消息前置校验(16:17)
- 视频:9-5 单聊消息分发逻辑-消息分发主流程(19:25)
- 视频:9-6 详细分析群聊业务(01:03)
- 视频:9-7 发送群聊消息前置校验(06:32)
- 视频:9-8 群聊消息分发逻辑是怎样的?(13:09)
- 视频:9-9 即时通讯聊天记录存储结构&单聊群聊读扩散or写扩散选型(08:15)
- 视频:9-10 IM消息ID专题 – 分布式自增id解决方案介绍(01:45)
- 视频:9-11 如何将单聊消息持久化到DB上?(13:21)
- 视频:9-12 如何将群聊消息持久化到DB上?(04:09)
- 视频:9-13 手把手带你编写发送单聊&群聊消息的接口(06:57)
- 视频:9-14 章节总结(00:59)
第10章 消息业务的核心之消息可达性、一致性、幂等性、实时性
- 视频:10-1 章节介绍(01:52)
- 视频:10-2 消息实时性 – 利用多线程解决消息串行问题,提升处理效率(06:01)
- 视频:10-3 消息实时性- 校验逻辑前置由tcp通过feign接口提前校验(一)(15:26)
- 视频:10-4 消息实时性- 校验逻辑前置由tcp通过feign接口提前校验(二)(03:05)
- 视频:10-5 消息实时性- 利用mq异步持久化消息(一)(07:13)
- 视频:10-6 消息实时性- 利用mq异步持久化消息(二)(12:38)
- 视频:10-7 用了tcp就不会丢包,丢消息了吗?(09:50)
- 视频:10-8 单人消息可靠性- 双重ack保证上下行消息可靠(一)(06:11)
- 视频:10-9 单人消息可靠性- 双重ack保证上下行消息可靠(二)(15:21)
- 视频:10-10 (9分22喷麦)单人消息有序性 – 消息并行可能导致消息乱序,如何保证客户端消息有序性(12:18)
- 视频:10-11 消息幂等性 – 保证消息不“重复”(一)(07:49)
- 视频:10-12 消息幂等性 – 保证消息不“重复”(二)(11:43)
- 视频:10-13 单聊优化总结(04:39)
- 视频:10-14 群聊消息实时性 – 消息并行,持久化解耦,校验前置(11:33)
- 视频:10-15 群聊消息有序性 – 消息并行可能导致消息乱序,如何保证客户端消息有序性(02:35)
- 视频:10-16 群聊消息消息幂等性 – 保证消息不“重复”(04:59)
- 视频:10-17 详解消息已读的实现方案(05:14)
- 视频:10-18 构建聊天会话 – 消息已读功能实现(一)(13:34)
- 视频:10-19 构建聊天会话 – 消息已读功能实现(二)(16:27)
- 视频:10-20 构建聊天会话 – 会话置顶,删除会话接口(15:12)
- 视频:10-21 离线消息 – 离线消息设计与实现(一)(06:10)
- 视频:10-22 离线消息 – 离线消息设计与实现(二)(23:32)
- 视频:10-23 章节总结(01:20)
第11章 揭秘QQ、微信数据同步的演进
- 视频:11-1 剖析qq和微信背后数据同步的完整过程(11:48)
- 视频:11-2 关系链模块问题修复(03:39)
- 视频:11-3 如何将关系链数据全量拉取改为增量拉取?(一)(15:00)
- 视频:11-4 如何将关系链数据全量拉取改为增量拉取?(二)(16:56)
- 视频:11-5 如何将会话数据全量拉取改为增量拉取?(04:29)
- 视频:11-6 如何将群组数据全量拉取改为增量拉取?(05:05)
- 视频:11-7 手把手带你实现增量同步接口(一)(05:52)
- 视频:11-8 手把手带你实现增量同步接口(二)(09:02)
- 视频:11-9 手把手带你实现增量同步接口(三)(13:41)
- 视频:11-10 手把手带你编写获取用户sequence接口(06:27)
- 视频:11-11 如何实现增量拉取离线消息(12:11)
- 视频:11-12 客户端数据库sqlite介绍(04:46)
- 视频:11-13 sqlite案例-uniapp-nview模式开发原生客户端演示sqlite数据库(06:48)
- 视频:11-14 章节总结(04:07)
第12章 打造QQ在线状态功能之为你的应用增添色彩
- 视频:12-1 章节介绍(02:18)
- 视频:12-2 在线状态设计(02:17)
- 视频:12-3 netty网关用户状态变更通知&登录ack(08:25)
- 视频:12-4 逻辑层处理用户上线下线(12:47)
- 视频:12-5 在线状态订阅-临时订阅(11:58)
- 视频:12-6 带你实现手动设置客户端状态接口(08:36)
- 视频:12-7 推拉结合实现在线状态更新(10:12)
- 视频:12-8 章节总结(01:21)
第13章 IM拓展之IM能做的事还有很多
- 视频:13-1 章节介绍(01:42)
- 视频:13-2 IM进阶拓展 – 如何让陌生人只能发送几条消息&消息监管、鉴黄功能(05:36)
- 视频:13-3 IM进阶拓展 – 如何实现消息撤回(17:23)
- 视频:13-4 IM进阶拓展 – 如何设计亿级聊天记录存储方案(一)(15:32)
- 视频:13-5 IM进阶拓展 – 如何设计亿级聊天记录存储方案(二)(09:08)
- 视频:13-6 IM进阶拓展 – 视频通话实现思路和流程(10:10)
- 图文:13-7 IM进阶拓展–红包功能如何实现?
- 图文:13-8 IM进阶拓展–智能对话机器人
- 图文:13-9 IM进阶拓展–如何开发匿名聊天
- 图文:13-10 IM进阶拓展–如何开发公众号最近学习
- 视频:13-11 章节总结(00:54)
第14章 系统对接&sdk讲解
- 视频:14-1 演示开发一款应用如何接入我们的系统(一)(15:50)
- 视频:14-2 演示开发一款应用如何接入我们的系统(二)(14:02)
- 视频:14-3 web版sdk讲解(17:47)
第15章 课程总结
- 视频:15-1 课程总结(05:12)
资源下载
下载价格19.90 自学币
VIP免费
请先登录本站资料仅供个人学习和研究使用 若本帖作者内容侵犯了原著者的合法权益请提供相应证明材料本站审核通过后将即予以处理
评论0