首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >千万级长连接推送如何做到不丢不重:序列号、ACK 与离线补拉的完整设计?

问千万级长连接推送如何做到不丢不重:序列号、ACK 与离线补拉的完整设计?

提问于 2026-10-19 12:43:08
回答 2关注 0查看 9

背景:IM 与通知类业务,自建长连接网关集群(WebSocket),多端登录场景,在线峰值百万级。想请教三个问题: 1. 推送消息的「至少一次送达」怎么设计:序列号按用户维度还是会话维度生成?ACK 超时重推的窗口和退避策略如何取值,才能在弱网下不放大流量? 2. 离线消息补拉:断线窗口内的消息按「最后收到的序列号」拉取,存储层怎么分层(Redis 环形缓冲存近期 + DB 落库存历史的组合有没有实践过的方案)? 3. 多端同步:手机与 PC 同时在线时,已读状态与消息顺序如何跨端对齐,推送扇出到多端时怎么避免重复提醒? 希望有实际跑过千万级在线推送的方案细节与踩坑经验。

相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档