为什么传统方式有局限性?
先说说为什么传统的轮询方式不够用。
想象一下,你是一家电商平台的后端工程师。有100万用户同时在线查看订单状态,如果用轮询方式:
每个用户每5秒轮询一次
100万用户就是每秒20万次请求
服务器压力巨大
大部分请求都是无效的(订单状态没变)
这会导致什么问题?
服务器资源消耗巨大:大量无效请求
响应不及时:轮询间隔时间内无法获取最新状态
网络开销大:每次请求都包含完整HTTP头
SSE:服务器推送消息的轻量级方案
SSE(Server-Sent Events)是HTML5规范的一部分,专门为服务器向客户端推送消息而设计:
单向通信:服务器向客户端推送
自动重连:连接断开后自动重连
事件ID:支持断线续传
轻量级:基于HTTP协议
浏览器原生支持:无需额外库