ARCHITECTURE DOSSIER · 04

实时通信与端侧状态

HTTP 会话、WebSocket、消息持久化、Push 与媒体发送

MIXEDREALTIMECODE + RUNTIME + QA
REALTIME · COMPONENT TOPOLOGYowner / runtime / truth state
01Client
Matrix X / Quant iOSrunning

五 Tab、会话、乐观消息、重连与本地缓存

MobileSwiftUI
02Edge
api.reits.techrunning

HTTP/WS 升级、TLS 与连接限制

Platform OpsNginx
03Service
im-core HTTP/WSrunning

会话、消息、成员、回执、事件

Realtime PlatformGo / Docker
im-media-send-kitrunning

准备、hash、分片、上传与失败恢复

Client PlatformSwift Package
Push adaptersmixed

离线通知与设备路由

Realtime Platformservice adapters
04State
Postgres / Redis / NATSrisk

durable truth、presence/cache、event bus

Realtime Platformsingle EC2 containers
每次跨层调用必须同时具备IDENTITYVERSIONED CONTRACTTELEMETRYFAILURE POLICY

CRITICAL SEQUENCE

真实主链与事务边界

每一步都必须能回到调用方、契约、状态 owner 与失败证据;UI 只显示服务端已经确认的真值。

  1. 01

    客户端用 token 建立 HTTP 会话

  2. 02

    WebSocket 订阅会话/用户事件

  3. 03

    本地生成 client_message_id 与 optimistic bubble

  4. 04

    服务端事务写入消息并发布 durable event

  5. 05

    客户端按 server sequence 对账

  6. 06

    离线设备通过 Push 唤醒并拉取缺口

INTERFACE REGISTER

跨项目接口与安全条件

producer、consumer、契约和 guard 同时登记;其中任何一列缺失都不能进入多团队并行开发。

ProducerVersioned contractConsumerSecurity / consistency guard
iOSSendMessage {client_id,conversation,payload}im-core

member + capability + idempotency

im-coreWS event {sequence,type,entity}iOS clients

session + conversation scope

send-kitPreparedMedia {hash,mime,size,chunks}media adapter

upload ticket + checksum

STATE OWNERSHIP

数据真值与恢复

Messages / membership / receiptsim-core

STOREPostgreSQL

RETENTION产品与隐私策略

RECOVERY≤15m RPO target

Presence / hot stateim-core

STORERedis

RETENTION短期

RECOVERY从 durable truth 重建

Durable eventsim-core

STORENATS

RETENTION重放窗口

RECOVERYconsumer sequence

FAILURE MODEL

故障必须怎样收敛

TRIGGERWS 断开/乱序

SYMPTOM气泡 pending 或顺序跳变

CONTAINsequence gap 拉取 + 幂等对账

client/server ids
TRIGGER媒体上传失败

SYMPTOM文本成功、附件失败

CONTAIN保留草稿与分片重试

send-kit phase
TRIGGERPush 不可用

SYMPTOM离线提醒缺失

CONTAIN回到前台按 cursor 补拉

push receipt + replay lag

QA RELEASE GATES

不是画完架构图就算完成

这些门禁连接 UI 状态、接口负向路径、运行证据与可恢复性;发布证据必须绑定 exact commit。

IM-01

断网、重连、乱序、重放

端到端故障注入

IM-02

非成员不能读写会话

API negative suite

IM-03

媒体失败可恢复

send-kit acceptance

IM-04

设备撤销后 WS 失效

security regression