ARCHITECTURE DOSSIER · 02

资源、包与媒体交付

上传隔离、校验、晋级、下载票据与端侧验证

TARGETMEDIACODE + RUNTIME + QA
MEDIA · COMPONENT TOPOLOGYowner / runtime / truth state
01Client
Portal / iOS uploadertarget

声明用途、大小、MIME、checksum

Product clientsWeb / Swift
02Edge
Signed upload edgetarget

短期 ticket 与大小/MIME 限制

Media Platformtarget CDN/object edge
03Service
reits-media controltarget

asset manifest、scan、promote、download ticket

Media Platformcode only
Open Platform publisherrunning

版本、manifest、能力与 package 绑定

Developer PlatformDocker gateway
iOS send kitrunning

媒体准备、hash、分片、失败恢复

Client PlatformSwift Package
04State
Quarantine / immutable bucketstarget

隔离上传与不可变资产

Media Platformnot deployed
每次跨层调用必须同时具备IDENTITYVERSIONED CONTRACTTELEMETRYFAILURE POLICY

CRITICAL SEQUENCE

真实主链与事务边界

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

  1. 01

    客户端申请 upload intent

  2. 02

    控制面校验用途、大小与 content type

  3. 03

    文件进入 quarantine 并回传 hash

  4. 04

    扫描、checksum、manifest 校验

  5. 05

    通过后 promote 为不可变版本

  6. 06

    客户端用短期票据下载并再次验证 checksum

INTERFACE REGISTER

跨项目接口与安全条件

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

ProducerVersioned contractConsumerSecurity / consistency guard
UploaderUploadIntent {purpose,size,mime,sha256}reits-media

scope + quota + MIME allowlist

PublisherPackageManifest {version,hash,capabilities}Miniapp Gateway

signature + immutable version

reits-mediaDownloadTicket {asset,exp,disposition}iOS / Web

short TTL + audience

STATE OWNERSHIP

数据真值与恢复

Quarantine uploadsreits-media

STOREObject storage target

RETENTION24–72h

RECOVERY重新上传

Immutable packagesminiapp-open-platform

STOREObject storage target

RETENTION版本生命周期

RECOVERY异地副本 + manifest

Collected mediadata-sources

STORELocal files now

RETENTION来源政策

RECOVERY迁移至 resource service

FAILURE MODEL

故障必须怎样收敛

TRIGGERchecksum 不一致

SYMPTOM包或媒体不可验证

CONTAIN留在 quarantine,禁止发布

expected/actual hash
TRIGGERscan service 超时

SYMPTOM上传成功但长期 pending

CONTAIN可重试任务,不暴露资源

scan job + retry count
TRIGGERlocal package disk 满

SYMPTOM发布与下载失败

CONTAIN冻结新发布,已缓存版本继续

disk alert + package smoke

QA RELEASE GATES

不是画完架构图就算完成

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

MEDIA-01

上传类型、大小、恶意样本

服务端负向测试

MEDIA-02

checksum 与签名在宿主端复核

iOS/Web E2E

MEDIA-03

quarantine 不可公开读取

安全回归

MEDIA-04

对象存储跨区恢复

部署前必做