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