这门课解决什么实际问题

很多后端开发者在面对即时通讯需求时,往往止步于使用现成的第三方 SDK,一旦遇到高并发连接、消息可靠性保障或私有化部署的需求,就会显得无从下手。Netty 作为高性能 NIO 框架,是解决此类问题的核心底层技术,而 SpringBoot 则是业务逻辑落地的最佳载体。这门课程正是为了解决「如何将底层网络编程能力转化为实际 IM 系统」这一痛点。它不再停留在 API 调用层面,而是带你深入 TCP 长连接管理、心跳保活、断线重连、粘包拆包处理以及基于 Netty 的分布式会话管理。学完后,你将具备从零搭建一个支持多端在线、消息实时推送的内部通讯系统的能力,无论是用于企业即时办公工具、游戏后台消息服务,还是物联网设备的指令下发,这套技术栈都能直接复用。

适合什么基础,建议先看哪几块

本课程对零基础学员不够友好,建议具备一定的 Java 基础,熟悉 SpringBoot 基本配置与使用,并了解 TCP/IP 协议 basics。如果你完全没接触过网络编程,需要先补充 Socket 编程的概念。课程资源较为完整,建议学习顺序如下:首先重点攻克 Netty 核心模块,理解 Channel、Pipeline 及 Handler 的执行链机制,这是后续所有扩展的基石;其次关注业务逻辑层,看 SpringBoot 如何与 Netty 集成,如何处理消息协议的定义与序列化;最后研究实战章节,即整个即时通讯系统的架构设计,包括用户鉴权、好友关系链、消息存储与离线推送策略。不要一上来就纠结代码细节,先建立从网络层到业务层的整体认知框架,再回过头去填补具体的实现空白。

学完能独立做什么,资料怎么用

完成本课程的学习与练习后,你应该能够独立设计并开发一个简单的即时通讯服务端。具体而言,你能实现客户端的长连接保持、实时双向消息通信、以及基础的群聊与私聊功能。对于追求更高可用性的场景,你也能理解如何基于 Netty 进行简单的集群扩展。资料包中的代码示例是核心资产,但不要只看不练。建议先在本地搭建 Netty 环境,跑通 Hello World 程序,再逐步跟随课程进度,尝试修改部分业务逻辑,比如自定义消息协议头、增加简单的消息加密或改变心跳检测间隔。通过手动调试和打断点观察连接状态,比被动观看视频更能巩固对 Netty 异步模型的理解。最终目标是能够脱离课程代码,独立画出系统的时序图并写出核心通信模块的代码,这才是真正掌握这门技能的关键。

mksz626-Netty+SpringBoot开发即时通讯系统【完结第15章】

本课程隶属 会员库 · MK实战课(一部分是老课) / 课程盒子6-mksz600至699,完整课程目录与配套资料如下。

课程目录

{10}--第10章消息业务的核心之消息可达性、一致性、幂等性、实时性/
10-21 离线消息 - 离线消息设计与实现(一).mp4
[10.10]--10-10(9分22喷麦)单人消息有序性-消息并行可能导致消息乱.mp4
[10.11]--10-11消息幂等性-保证消息不“重复”.mp4
[10.12]--10-12消息幂等性-保证消息不“重复”.mp4
[10.13]--10-13单聊优化总结.mp4
[10.14]--10-14群聊消息实时性-消息并行,持久化解耦,校验前置.mp4
[10.15]--10-15群聊消息有序性-消息并行可能导致消息乱序,如何保证客户.mp4
[10.16]--10-16群聊消息消息幂等性-保证消息不“重复&rd.mp4
[10.17]--10-17详解消息已读的实现方案.mp4
[10.18]--10-18构建聊天会话-消息已读功能实现(一).mp4
[10.19]--10-19构建聊天会话-消息已读功能实现(二).mp4
[10.1]--10-1章节介绍.mp4
[10.20]--10-20构建聊天会话-会话置顶,删除会话接口.mp4
[10.22]--10-22离线消息-离线消息设计与实现(二).mp4
[10.23]--10-23章节总结.mp4
[10.2]--10-2消息实时性-利用多线程解决消息串行问题,提升处理效率.mp4
[10.3]--10-3消息实时性-校验逻辑前置由tcp通过feign接口提前校.mp4
[10.4]--10-4消息实时性-校验逻辑前置由tcp通过feign接口提前校.mp4
[10.5]--10-5消息实时性-利用mq异步持久化消息(一).mp4
[10.6]--10-6消息实时性-利用mq异步持久化消息(二).mp4
[10.7]--10-7用了tcp就不会丢包,丢消息了吗?.mp4
[10.8]--10-8单人消息可靠性-双重ack保证上下行消息可靠(一).mp4
[10.9]--10-9单人消息可靠性-双重ack保证上下行消息可靠(二).mp4
{11}--第11章揭秘QQ、微信数据同步的演进iclass=new_tag/
[11.10]--11-10手把手带你编写获取用户sequence接口.mp4
[11.11]--11-11如何实现增量拉取离线消息.mp4
[11.12]--11-12客户端数据库sqlite介绍.mp4
[11.13]--11-13sqlite案例-uniapp-nview模式开发原生.mp4
[11.14]--11-14章节总结.mp4
[11.1]--11-1剖析qq和微信背后数据同步的完整过程.mp4
[11.2]--11-2关系链模块问题修复.mp4
[11.3]--11-3如何将关系链数据全量拉取改为增量拉取?(一).mp4
[11.4]--11-4如何将关系链数据全量拉取改为增量拉取?(二).mp4
[11.5]--11-5如何将会话数据全量拉取改为增量拉取?.mp4
[11.6]--11-6如何将群组数据全量拉取改为增量拉取?.mp4
[11.7]--11-7手把手带你实现增量同步接口(一).mp4
[11.8]--11-8手把手带你实现增量同步接口(二).mp4
[11.9]--11-9手把手带你实现增量同步接口(三).mp4
{12}--第12章打造QQ在线状态功能之为你的应用增添色彩/
[12.1]--12-1章节介绍【海量资源:javago6666】.mp4
[12.2]--12-2在线状态设计【海量资源:javago6666】.mp4
[12.3]--12-3netty网关用户状态变更通知&登录ack【海量资源:javago6666】.mp4
[12.4]--12-4逻辑层处理用户上线下线【海量资源:javago6666】.mp4
[12.5]--12-5在线状态订阅-临时订阅【海量资源:javago6666】.mp4
[12.6]--12-6带你实现手动设置客户端状态接口【海量资源:javago6666】.mp4
[12.7]--12-7推拉结合实现在线状态更新【海量资源:javago6666】.mp4
[12.8]--12-8章节总结【海量资源:javago6666】.mp4
{13}--第13章IM拓展之IM能做的事还有很多/
(13.1)--13-7IM进阶拓展--红包功能如何实现?【海量资源:javago6666】.pdf
(13.2)--13-8IM进阶拓展--智能对话机器人【海量资源:javago6666】.pdf
(13.3)--13-9IM进阶拓展--如何开发匿名聊天【海量资源:javago6666】.pdf
(13.4)--13-10IM进阶拓展--如何开发公众号【海量资源:javago6666】.pdf
[13.1]--13-1章节介绍【海量资源:javago6666】.mp4
[13.2]--13-2IM进阶拓展-如何让陌生人只能发送几条消息&消息【海量资源:javago6666】.mp4
[13.3]--13-3IM进阶拓展-如何实现消息撤回【海量资源:javago6666】.mp4
[13.4]--13-4IM进阶拓展-如何设计亿级聊天记录存储方案(一)【海量资源:javago6666】.mp4
[13.5]--13-5IM进阶拓展-如何设计亿级聊天记录存储方案(二)【海量资源:javago6666】.mp4
[13.6]--13-6IM进阶拓展-视频通话实现思路和流程【海量资源:javago6666】.mp4
[13.7]--13-11章节总结【海量资源:javago6666】.mp4
{14}--第14章系统对接&sdk讲解/
[14.1]--14-1演示开发一款应用如何接入我们的系统(一)【海量资源:javago6666】.mp4
[14.2]--14-2演示开发一款应用如何接入我们的系统(二)【海量资源:javago6666】.mp4
[14.3]--14-3web版sdk讲解【海量资源:javago6666】.mp4
{15}--第15章课程总结/
[15.1]--15-1课程总结【海量资源:javago6666】.mp4
{1}--第1章课程介绍与学习指南/
(1.1)--1-1课前必读(不读错过一个亿).pdf
[1.1]--1-2即时通讯系统-课程导学.mp4
{2}--第2章为什么要自研一套即时通讯系统?/
[2.1]--2-1章节介绍.mp4
[2.2]--2-2纵多成熟的IM系统,我们仍需要自研.mp4
[2.3]--2-3如何自研一套即时通讯系统?.mp4
[2.4]--2-4章节总结.mp4
{3}--第3章基础数据开发-用户&关系&群组/
(3.1)--3-22即时通讯为什么难?.pdf
(3.2)--3-23作业:想实现和腾讯云类似的拓展资料,数据库要如何设计?.pdf
3-2 业务系统的基石 - 用户模块业务分析&数据库设计.mp4
[3.10]--3-10添加、删除、校验黑名单业务功能实现.mp4
[3.11]--3-11获取所有好友申请列表&好友申请列表已读&.mp4
[3.12]--3-12好友分组(类似微信的好友标签)业务介绍&DB设计.mp4
[3.13]--3-13好友分组创建、添加&删除成员&好友分组删.mp4
[3.14]--3-14即时通讯最复杂的模块-群组模块业务分析&数据库设.mp4
[3.15]--3-15导入群、群成员.mp4
[3.16]--3-16创建群组、修改群信息&获取群信息业务功能实现.mp4
[3.17]--3-17获取用户加入的群列表业务功能实现.mp4
[3.18]--3-18解散群组、转让群主业务功能实现.mp4
[3.19]--3-19拉人入群成员、移除群聊&退出群聊业务功能实现.mp4
[3.1]--3-1章节介绍.mp4
[3.20]--3-20获取群成员信息&修改群成员信息接口业务功能实现.mp4
[3.21]--3-21禁言群、禁言群成员业务功能实现.mp4
[3.22]--3-24章节总结.mp4
[3.3]--3-3带你看看大型企业级项目使用什么结构管理项目骨架的.mp4
[3.4]--3-4导入用户资料,删除用户资料,修改用户资料,查询用户资料.mp4
[3.5]--3-5即时通讯中最有价值的数据-关系链模块业务分析&数据.mp4
[3.6]--3-6导入、添加、更新好友业务功能实现.mp4
[3.7]--3-7删除好友、所有好友的业务功能实现.mp4
[3.8]--3-8拉取指定好友信息&拉取所有好友信息业务功能实现.mp4
[3.9]--3-9校验好友关系其实比你想象中的复杂.mp4
{4}--第4章BIO,NIO&Netty入门/
(4.1)--4-7NIO与BIO详解.pdf
(4.2)--4-8作业:使用Netty实现分数录入返回是否及格.pdf
[4.1]--4-1章节介绍.mp4
[4.2]--4-2BIO线程模型详解-彻底搞懂BIO如何工作.mp4
[4.3]--4-3NIO线程模型详解-彻底搞懂NIO如何工作.mp4
[4.4]--4-4BIO和NIO总结.mp4
[4.5]--4-5详解Netty.mp4
[4.6]--4-6Nett初体验-上手写第一个Netty程序.mp4
[4.7]--4-9章节总结.mp4
{5}--第5章Netty企业开发必须掌握的技能/
(5.1)--5-11Nett服务端启动流程源码详解.pdf
(5.2)--5-12作业:使用Netty实现简单的HTTP服务器.pdf
[5.10]--5-10使用Netty实现文件上传.mp4
[5.11]--5-13章节总结.mp4
[5.1]--5-1章节介绍.mp4
[5.2]--5-2使用Netty实现聊天室.mp4
[5.3]--5-3窥探编解码器-初识Netty编解码.mp4
[5.4]--5-4Netty底层数据流转的核心-pipeline机制详解.mp4
[5.5]--5-5传输层协议TCP留给我们的难题-Netty解决半包、粘包方.mp4
[5.6]--5-6传输层协议TCP留给我们的难题-使用私有协议解决半包、粘包.mp4
[5.7]--5-7ByteBuf核心API讲解.mp4
[5.8]--5-8IdleStateHandler心跳机制源码详解-揭开主流.mp4
[5.9]--5-9Netty的源码解析-掌握Netty核心功能的实现.mp4
{6}--第6章IM开发核心之构建TCP网关(上)/
[6.1]--6-1章节介绍.mp4
[6.2]--6-2正式开始编写IM主程序ServerBootstrap.mp4
[6.3]--6-3WebSocketServerProtocolHandle.mp4
[6.4]--6-4Snakeyaml解析配置文件-动态配置tcp程序.mp4
[6.5]--6-5大白话讲通信协议-详解主流通信协议.mp4
[6.6]--6-6私有协议编解码-设计篇.mp4
[6.7]--6-7私有协议编解码-实现篇.mp4
{7}--第7章IM开发核心之构建TCP网关(下)/
(7.1)--7-15拓展:详解Zookeeper.pdf
(7.2)--7-16作业:利用这两章知识来实现一个简易版的登录+单聊即时通讯.pdf
[7.10]--7-10TCP服务注册-Zookeeper注册TCP服务.mp4
[7.11]--7-11服务改造-TCP服务分布式改造.mp4
[7.12]--7-12即时通讯系统支持多端登录模式-应对多端登录的场景(一).mp4
[7.13]--7-13即时通讯系统支持多端登录模式-应对多端登录的场景(二).mp4
[7.14]--7-14即时通讯系统如何支持多端登录模式-应对多端登录的场景(三.mp4
[7.15]--7-17章节总结.mp4
[7.1]--7-1章节介绍.mp4
[7.2]--7-2登录消息-保存用户NioSocketChannel为cha.mp4
[7.3]--7-3分布式缓存中间件-Redisson快速入门操作数据&amp.mp4
[7.4]--7-4用户登录网关层-保存用户Session.mp4
[7.5]--7-5用户退出网关层-离线删除用户Session.mp4
[7.6]--7-6服务端心跳检测-IdleStateHandler.mp4
[7.7]--7-7RabbitMQ的安装、发布订阅、路由模式详解.mp4
[7.8]--7-8TCP接入RabbitMQ,打通和逻辑层交互.mp4
[7.9]--7-9分布式TCP服务注册中心的技术选型.mp4
{8}--第8章打通业务服务器与IM服务器&多端同步/
(8.1)--8-22拓展:RabbitMQ简介.pdf
(8.2)--8-23根据一致性hash自己实现一个自定义负载均衡策略.pdf
[8.10]--8-10编写群组模块回调.mp4
[8.11]--8-11启动一个新的应用服务验证回调机制.mp4
[8.12]--8-12tcp通知机制介绍-多端数据同步.mp4
[8.13]--8-13封装查询用户Session工具类.mp4
[8.14]--8-14封装MessageProducer给用户发送消息.mp4
[8.15]--8-15编写用户资料变更通知.mp4
[8.16]--8-16编写好友模块TCP通知.mp4
[8.17]--8-17封装GroupMessageProducer给群组用户发.mp4
[8.18]--8-18编写群组模块TCP通知.mp4
[8.19]--8-19TCP服务处理逻辑层投递的MQ消息.mp4
[8.1]--8-1章节介绍.mp4
[8.20]--8-20接口调用鉴权加密-加解密算法HMAC-SHA256演示.mp4
[8.21]--8-21接口调用鉴权加密-统一入口拦截器加密校验用户请求.mp4
[8.22]--8-24章节总结.mp4
[8.2]--8-2负载均衡策略-随机模式.mp4
[8.3]--8-3负载均衡策略-轮训模式.mp4
[8.4]--8-4负载均衡策略-一致性hash方式(TreeMap实现).mp4
[8.5]--8-5配置文件配置负载均衡策略.mp4
[8.6]--8-6回调机制介绍-业务系统和im系统同步数据.mp4
[8.7]--8-7使用Apache-HttpClient封装http请求工具.mp4
[8.8]--8-8编写用户资料变更回调.mp4
[8.9]--8-9编写好友模块回调.mp4
{9}--第9章消息业务的流程之打通消息收发核心/
[9.10]--9-10IM消息ID专题-分布式自增id解决方案介绍.mp4
[9.11]--9-11如何将单聊消息持久化到DB上?.mp4
[9.12]--9-12如何将群聊消息持久化到DB上?.mp4
[9.13]--9-13手把手带你编写发送单聊&群聊消息的接口.mp4
[9.14]--9-14章节总结.mp4
[9.1]--9-1章节介绍.mp4
[9.2]--9-2重中之重-消息收发核心流程梳理.mp4
[9.3]--9-3单聊消息分发逻辑-RabbitMQ连接tcp层和网关层.mp4
[9.4]--9-4单聊消息分发逻辑-发送消息前置校验.mp4
[9.5]--9-5单聊消息分发逻辑-消息分发主流程.mp4
[9.6]--9-6详细分析群聊业务.mp4
[9.7]--9-7发送群聊消息前置校验.mp4
[9.8]--9-8群聊消息分发逻辑是怎样的?.mp4
[9.9]--9-9即时通讯聊天记录存储结构&单聊群聊读扩散or写扩散.mp4
课件.zip