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