先说结论:这门课解决的是「单机推送不够用」之后的问题
如果你的项目只需要给当前连着的用户发个通知,用原生 WebSocket 加个 Map 存 Session 就够了,不必看这门课。真正让人头疼的是另一种情况:服务部署了多个实例,用户 A 连在实例一,用户 B 连在实例二,业务上需要把一条消息推给所有在线的人,或者推给某个指定用户——而你不知道他到底挂在哪台机器上。这时候单机内存里的 Session 表就彻底失效了。
这门课的主题就是这条链路:用 Spring 的 WebSocket 支持打底,SockJS 处理浏览器兼容和降级,Stomp 定义消息语义,再把 RabbitMQ 作为外部消息代理接进来,让多实例之间通过 broker 转发完成广播和点对点推送。它不属于入门课,适合已经写过 Spring Boot 项目、被多实例推送卡住过的后端开发。
学完之后你能独立做什么
- 搭出一套完整的推送链路:前端建立连接、订阅目的地,后端用消息模板往指定用户或广播地址发消息。
- 说清楚 Stomp 里 /app、/topic、/queue、/user 这些前缀各自走哪条路径、由谁处理,而不是照抄配置。
- 把 broker 从内存版换成 RabbitMQ,让多个服务实例共享同一套订阅关系,不再受「用户连在哪台机器」的限制。
- 处理掉线重连、心跳、订阅失败、消息重复这些实际会遇到的问题,而不是只跑通一个 demo。
注意这里没有提「高并发百万连接」。课程覆盖的是分布式推送的架构与编码,压测调优、集群容量规划属于另一个话题,不要指望一门课全包。
资料的组织方式和适合的基础
整套资料围绕一个可运行的项目推进,理论部分和技术实现是交替出现的,不是先讲完一大段概念再动手。前半段集中在 WebSocket 协议本身、SockJS 的兼容处理、Stomp 的帧格式与订阅模型;后半段进入 Stomp 代理配置、可靠推送的几种补偿思路,以及 RabbitMQ 的接入方式。最后有一批常见问题的处理案例,比如跨域、拦截器拿不到用户信息、代理地址配错导致订阅静默失败——这些坑在真实项目里踩一次要查半天。
基础要求大致是:能看懂 Spring Boot 的自动配置和注解,知道什么是消息队列(用过 RabbitMQ 更好,没用过也能跟上,但需要补一下 exchange 和 queue 的基本概念),前端部分只要能读懂 JS 的订阅回调即可,不需要精通前端框架。如果你的项目是纯 Servlet 老架构、短期内没有升级 Spring Boot 的打算,这门课的技术栈会对不上。
怎么用这套资料效率更高
建议不要顺着看视频。先看 Stomp 和代理那一部分,把「消息从后端发出到前端收到」的完整链路在脑子里串一遍,再回头补 WebSocket 和 SockJS 的细节,这样前面那些协议层面的内容才有落点。
动手时优先改配置而不是重写代码:把 broker 地址换成本地 RabbitMQ,观察多实例下行为的变化;然后故意关掉一个实例,看消息是否还能送达。这种破坏性试验比按部就班跑一遍更能暴露理解上的空白。项目里的示例代码可以直接拿来做骨架,但上线前要替换掉里面的简单用户标识逻辑,换成你自己系统的认证方式——课程演示用的简化处理不能直接进生产。
哪些人可以先跳过
如果你只是要做一个站内公告,或者服务永远是单实例部署,这门课属于过度设计,用 SSE 或简单的轮询更省事。反过来,如果你的系统已经在多实例下跑,推送时好时坏、日志里看不到明显报错,那大概率就是 broker 和订阅关系没理清,这正是这门课要解决的问题。
课程目录
课程目录46 条
- 01 Websocket初步了解和开发环境搭建
- 01 课程大纲和WebSocket初步认识
- 02 课件(文档和源码)获取和开发环境搭建 02 SpringBoot中原生WebSocket消息推送 01 H5聊天室实现流程分析 02 H5聊天室服务端编码 03 H5聊天室浏览器端实现 04 H5聊天室流程跟踪和效果演示
- 05 点对点推送消息
- 06 异常处理(重连)
- 07 心跳检测
- 03 SockJS+Stomp消息推送
- 01 STOMP协议详解
- 02 STOMP Over Websocket深入理解
- 03 SockJS+Stomp快速入门
- 04 SockJS+Stomp消息群发
- 05 SockJS+Stomp点对点消息发送
- 06 Stomp Broker简单配置
- 04 RabbitMQ作为Stomp消息代理
- 01 RabbitMQ及Stomp插件安装
- 02 消息代理技术选型和配置为什么要使用独立的消息代理
- 03 Stomp消息代理编码规范和实现(上)
- 04 Stomp消息代理编码规范和实现(下)
- 05 WebSocket多实例负载均衡
- 01 消息推送多实例负载均衡方案 02 Stomp消息代理+Nginx实现消息推送负载均衡
- 03 spring cloud gateway微服务负载均衡—编码
- 04 spring cloud gateway微服务负载均衡—原理
- 05 spring cloud gateway微服务负载均衡—调试
- 06 可靠消息推送
- 01 可靠消息推送流程和实现思路
- 02 消息推送确认(ACK)编码实现
- 07 java客户端(非浏览器客户端)
- 01 java原生客户端编码实现
- 02 java stomp客户端编码实现
- 08 WebSocket认证授权(spring security)
- 01 websocket认证授权介绍和实现思路
- 02 spring security jwt token认证授权
- 03 websocket客户端连接时jwt token认证
- 04 websocket客户端订阅主题授权控制
- 05 websocket客户端发送消息访问控制
- 06 课程结总和交流
- 09 Vue实现websocket前端
- 01 Vue脚手架项目搭建和运行
- 02 Vue基本点对点和群发消息
- 03 Vue断开自动重连
- 04 Vue重连并重新订阅主题
- 10 病房大屏系统案例
- 01 项目需求说明和分析
- 02 系统设计思路
- 03 系统效果演示和关键实现代码说明
- 11 学员反馈高频问题 01 课程资料和运行相关问题






