跳转到正文

架构与职责 ​

宿主负责账号与产品外壳,SDK 负责聊天体验,服务端保存业务数据并向所有已登录设备同步变化。

text
你的产品
├─ 宿主客户端:登录、注册、个人资料、根导航、系统推送入口
├─ 宿主后端:验证账号身份、保管 SDK Secret、获取 IM Token
└─ 泡泡 IM SDK:会话、通讯录、聊天、好友、群、媒体、音视频通话
                         │ HTTP + WebSocket
                         ▼
泡泡 IM 服务端
├─ Webman HTTP:宿主与 SDK 接口、管理后台、资源访问
├─ GatewayWorker:唯一一套实时连接与事件分发
└─ MySQL / 资源存储:用户关系、消息、配置、媒体文件

宿主与 SDK ​

责任宿主SDK
账号登录与身份恢复验证宿主登录态通过 Provider 获取 IM 凭证
会话和联系人承载 SDK 根入口管理列表、未读、缓存和内部导航
本人资料保存产品账号资料接收公开资料更新并同步界面
系统通知申请权限、注册设备、接收平台通知处理通知指向的聊天或通话
账号切换更新 Provider 身份并调用登录隔离账号状态与缓存
实时连接无需维护第二条聊天连接鉴权、重连和状态校准

客户端不保存 SDK Secret,也不直接连接数据库。restoreCachedSession 仅预热缓存;login 在首次权威同步成功后才表示登录完成。

服务端入口 ​

  • /app/sdk/* 是 SDK 协议;除签发 Token 外使用 IM Bearer Token。
  • /app/auth/* 等宿主接口使用宿主会话,服务于配套应用的登录、账号和资料。
  • /admin/* 为管理后台,使用管理员会话。
  • /ws 为实时入口,通过首帧 Token 认证。

服务端 web/app 保存通用业务能力,web/plugin/sdk 提供 SDK 协议与鉴权适配。扩展服务端时复用已有业务服务,不额外创建一套消息表、实时集群或账号映射。