Teamgram Messaging Sync 是 Teamgram 即时通讯系统的核心消息同步与分发组件,负责处理跨平台、高并发的消息投递与状态同步。该系统采用 Kafka 作为异步事件总线,构建了 Inbox-T 和 Sync-T 两个关键主题,分别承担消息写入与在线推送的职责。通过 inbox/outbox 双写模型,系统实现了发送方 outbox 与接收方 inbox 的可靠分离,确保消息在分布式环境下的最终一致性。整个架构以 gRPC 为通信基础,结合 protobuf 定义的消息契约,支持从客户端发起到服务端响应的完整链路闭环。该模块不仅处理普通文本消息,还涵盖媒体文件、编辑、删除等复杂操作,并通过 UpdatesMe/NotMe/PushRpcResult 等多种分发策略精准控制消息流向。
核心功能特点
- 基于 Kafka 构建 Inbox-T(投递)与 Sync-T(同步)双主题事件总线,实现消息异步解耦与高吞吐处理
- 采用 inbox/outbox 双写模型,分离发送方与接收方的消息存储,保障数据一致性与系统可扩展性
- 通过 protobuf messageName 动态路由机制,自动分发不同消息类型至对应的业务处理逻辑
- 支持 UpdatesMe、UpdatesNotMe、PushRpcResult 等多维度同步策略,精准控制消息推送范围与时机
- gRPC-based session 推送层实现低延迟在线消息分发,配合 gnetway 完成端到端加密传输
- 保留 TL 签名注释的接口契约设计,确保跨服务调用时请求响应格式的强一致性
适用场景
Teamgram Messaging Sync 特别适用于大规模即时通讯场景下的消息流管控,典型应用包括千万级用户的社交群组、企业级协作平台及物联网设备间状态同步等环境。在高并发消息洪峰期间,Kafka 的事件驱动架构可有效缓冲流量压力,避免服务雪崩风险。其双写模型天然适配多端同步需求,例如用户在手机端发送消息后,PC 端能即时收到更新通知,而服务器端则通过 outbox 记录完整操作日志用于审计追溯。对于需要实时反馈的场景,如消息已读回执或异步 RPC 回调,Sync-T 通道可快速将结果推送给发起方会话,提升交互体验。此外,该系统的广播推送能力也支撑了群聊、频道公告等多人协同场景,确保信息高效触达所有在线成员。
