WuKongIM Docs

集成架构

划分业务服务、WuKongIM 集群和客户端 SDK 的职责与数据流。

编辑此页报告文档问题

一个可靠的接入把业务控制面与消息数据面分开:业务服务决定“谁可以做什么”,WuKongIM 集群负责“消息如何实时、有序地传递和保存”。

职责划分

组件负责不负责
终端应用用户交互、SDK 生命周期、本地状态、消息展示签发可信身份、决定服务端权限
客户端 SDK路由、连接、协议帧、重连、收发与确认业务账号、群权限、内容审核
业务服务登录、UID、Token、关系、群成员、内容策略、Webhook 副作用长连接和频道日志复制
WuKongIM 集群Gateway、频道顺序、持久化、路由、在线投递、集群故障转移业务数据库和最终业务规则

所有部署都是集群。单节点部署只是只有一个节点的单节点集群,不存在绕过 Controller、Slot、Channel 或路由语义的独立路径。

会话启动顺序

连接状态不能替代业务授权状态。

路由发现不是鉴权

当前 /route 返回配置好的接入地址,不会校验 UID 的业务权限。不要把能够获取路由解释为用户已被授权。

两条消息入口

  • 客户端入口:SDK 通过长连接发送消息,接收 SENDACK、RECV 和连接状态事件。
  • 服务端入口:受信业务服务调用 /message/send 发送系统消息或代表业务触发消息。

两条入口最终进入同一个消息用例和频道写入路径。业务服务不应直接写节点本地存储,也不应根据“单节点”假设绕过集群路由。

故障边界

  • 对默认持久化消息,SENDACK 成功表示频道权威写入已作出持久化成功决定。
  • 普通和命令式 NoPersist 均进入瞬时在线投递,分配消息 ID,序号为零;两者都没有持久历史或离线恢复,详见 Message Flags
  • 在线投递、会话活跃投影、Webhook 和插件属于提交后的独立副作用。
  • Webhook 失败不会把已经成功的 SENDACK 改成失败。
  • 客户端断线恢复依赖 SDK 的重连与消息同步,不依赖 Webhook 重放。

需要理解服务端内部的提交与投递边界时,阅读服务端架构消息发送链路。下一步阅读身份认证,先收紧信任边界,再实现消息收发。

本页内容