posts

《移动游戏产品的架构·网络、资源与热更新》 · 全书目录与章节索引(45 篇)

卷二《网络、资源与热更新》45 篇索引:13 章覆盖移动网络现实、协议契约、重连、离线队列、同步责任、战报、流量账、资源依赖图、首包分包、热更政策、差量灰度、CDN 与交付流水线,附可运行的 mga-net-lab 实验工程与三篇附录,每章三节构成一条可复盘的判断链。

全书 45 篇 = 序、前言、目录 3 篇 + 13 章 39 节 + 附录 A/B/C 3 篇。
双案例:《潮汐消消》(弱联网)为主案例,《潮汐方舟》(强联网)为对照;两者共用一个发行中台。
正文代码块带 // file: / // tier: / // verify: 头,可在实验工程 mga-net-lab 中逐字节还原并运行测试。

这本卷回答什么

卷一刻画了移动客户端的静态结构与运行约束,卷二回答另一类问题:当客户端离开办公室的 Wi-Fi,进入真实的弱网、商店、CDN 与灰度环境,哪些能力决定它还能正常交付。

答案不是「加个重试」,而是一组可复核的契约与交付规则:协议怎么兼容、断线怎么恢复、离线操作怎么去重、同步责任怎么划、流量怎么记账、资源怎么分包、热更的边界在哪、失败怎么回滚。

阅读前提

全卷概览

章主题节数核心产物
1移动网络的现实3src/net/network-profile.ts, src/net/online-mode.ts, src/lab/net-lab.ts
2协议与消息契约3src/net/message-envelope.ts, src/net/request-tracker.ts, src/net/contract-check.ts
3连接生命周期与重连3src/net/connection-fsm.ts, src/net/backoff.ts, src/net/resync.ts
4离线队列与最终一致3src/net/offline-policy.ts, src/net/offline-queue.ts, src/net/conflict.ts
5强联网同步的客户端责任3src/net/sync-roles.ts, src/net/predict.ts, src/net/lag-comp.ts
6战斗与赛季数据的客户端模型3src/net/battle-report.ts, src/net/replay.ts, src/net/season.ts
7流量与连接成本3src/net/traffic-ledger.ts, src/net/heartbeat.ts, src/net/traffic-budget.ts
8资源依赖图与打包3src/resource/dependency-graph.ts, src/resource/pack-groups.ts, src/resource/pack-plan.ts
9首包、分包与按需下载3src/resource/first-package.ts, src/resource/on-demand.ts, src/lab/package-ledger.ts
10热更新的政策边界3src/hotfix/store-policy.ts, src/hotfix/boundary.ts, src/hotfix/failure-drill.ts
11差量更新与灰度3src/hotfix/delta.ts, src/hotfix/rollout.ts, src/hotfix/rollback.ts
12CDN 与下载体验3src/cdn/downloader.ts, src/cdn/cdn-plan.ts, src/cdn/fallback.ts
13卷二收口:网络与资源交付基线3src/lab/net-matrix.ts, src/delivery/pipeline.ts, src/lab/review-gate-net.ts

前置

第 1 章 移动网络的现实

节文章代码产物
1.11.1 弱网、切换与丢包:客户端要面对的三种网络src/net/network-profile.ts
1.21.2 弱联网与强联网:两种联网形态的责任边界src/net/online-mode.ts
1.31.3 mga-lab-net 的网络实验骨架与验收口径src/lab/net-lab.ts

第 2 章 协议与消息契约

节文章代码产物
2.12.1 消息信封、版本与兼容规则src/net/message-envelope.ts
2.22.2 请求响应、推送与超时语义src/net/request-tracker.ts
2.32.3 协议契约测试:把兼容规则写成断言src/net/contract-check.ts

第 3 章 连接生命周期与重连

节文章代码产物
3.13.1 连接状态机:从连接到就绪src/net/connection-fsm.ts
3.23.2 指数退避与抖动:重连节奏怎么定src/net/backoff.ts
3.33.3 重连后的状态校准src/net/resync.ts

第 4 章 离线队列与最终一致

节文章代码产物
4.14.1 离线可做与不可做:队列边界src/net/offline-policy.ts
4.24.2 操作队列的幂等与去重src/net/offline-queue.ts
4.34.3 冲突解决与可见性延迟src/net/conflict.ts

第 5 章 强联网同步的客户端责任

节文章代码产物
5.15.1 状态同步与帧同步:客户端各做什么src/net/sync-roles.ts
5.25.2 预测、回滚与显示平滑src/net/predict.ts
5.35.3 延迟补偿的客户端边界src/net/lag-comp.ts

第 6 章 战斗与赛季数据的客户端模型

节文章代码产物
6.16.1 战报结构:可复盘的最小数据集src/net/battle-report.ts
6.26.2 战报回放与一致性校验src/net/replay.ts
6.36.3 赛季结算与客户端展示口径src/net/season.ts

第 7 章 流量与连接成本

节文章代码产物
7.17.1 一次会话的流量构成src/net/traffic-ledger.ts
7.27.2 心跳、长连接与推送的取舍src/net/heartbeat.ts
7.37.3 流量预算与弱网适配src/net/traffic-budget.ts

第 8 章 资源依赖图与打包

节文章代码产物
8.18.1 资源依赖图与循环检测src/resource/dependency-graph.ts
8.28.2 资源分组:共享、场景与产品src/resource/pack-groups.ts
8.38.3 打包策略与冗余控制src/resource/pack-plan.ts

第 9 章 首包、分包与按需下载

节文章代码产物
9.19.1 首包边界:什么必须进包src/resource/first-package.ts
9.29.2 分包与按需下载的调度src/resource/on-demand.ts
9.39.3 双案例的首包账:120MB 与 350MBsrc/lab/package-ledger.ts

第 10 章 热更新的政策边界

节文章代码产物
10.110.1 商店允许更新什么src/hotfix/store-policy.ts
10.210.2 热更的内容边界与红线src/hotfix/boundary.ts
10.310.3 热更失败与回滚兜底src/hotfix/failure-drill.ts

第 11 章 差量更新与灰度

节文章代码产物
11.111.1 差量算法与补丁格式src/hotfix/delta.ts
11.211.2 灰度发布:分组、比例与观测src/hotfix/rollout.ts
11.311.3 回滚与版本收敛src/hotfix/rollback.ts

第 12 章 CDN 与下载体验

节文章代码产物
12.112.1 下载器设计:分片、并发与断点续传src/cdn/downloader.ts
12.212.2 CDN 选型与回源策略src/cdn/cdn-plan.ts
12.312.3 下载失败的降级与重试src/cdn/fallback.ts

第 13 章 卷二收口:网络与资源交付基线

节文章代码产物
13.113.1 网络与资源指标矩阵src/lab/net-matrix.ts
13.213.2 交付流水线与发布门禁src/delivery/pipeline.ts
13.313.3 卷二评审与进入卷三src/lab/review-gate-net.ts

附录

篇内容
附录 A 网络与资源术语速查RTT、弱网、断线率、重连成功率、差量、灰度等口径
附录 B 双案例网络与资源事实表网络质量、包体构成、热更节奏、CDN 下载量与政策边界
附录 C 网络与资源交付评审清单协议、连接、离线、同步、战报、流量、资源、热更、下载九组检查项

进入下一卷

卷二给出客户端与外部系统之间的契约与交付规则。卷三进入商业化与发行工程:收入结构、账号体系、渠道 SDK、支付通道、订单对账、广告、归因、防作弊、LiveOps、埋点、推送深链、合规与发行验收。

卷二末尾的四问——支付边界、活动通道、归因链路、渠道包体——是卷三的起点。

全部文章 Books game Java Indie golang 客户端开发 Minigame Saas rust Python
books

《移动游戏产品的架构·网络、资源与热更新》附录 C 网络与资源交付评审清单

本附录把卷二的方法整理成九组可勾选的评审项:协议兼容、连接重连、离线冲突、同步预测、战报赛季、流量心跳、资源分包、热更灰度、下载 CDN。每组给出判定标准与可接受的证据形态,供版本评审与上线前自查使用;每项只有通过与不通过两态,没有中间分数。

3 分钟阅读
书稿 移动游戏 网络架构
books

《移动游戏产品的架构·网络、资源与热更新》附录 B 双案例网络与资源事实表

本附录是卷二所有数字的唯一事实源:两款产品的网络质量、连接行为、包体与资源构成、热更节奏、CDN 下载量与政策边界都在这里定义。正文引用任何数字都必须回到这张表,避免同一本书里出现两套 DAU、包体或 RTT,也避免把案例设定值误当成线上实测。

4 分钟阅读
书稿 移动游戏 网络架构
books

《移动游戏产品的架构·网络、资源与热更新》附录 A 网络与资源术语速查

本附录按连接、同步、资源、发布四组整理卷二用到的术语,每条给出定义、口径与常见误用。它不是网络百科,而是全书判断链的词汇表:同一个词在客户端、服务端与发行团队口中含义不同时,以这里的口径为准,避免「重连成功」这类词在四个团队里各自指一件事。

4 分钟阅读
书稿 移动游戏 网络架构
books

《移动游戏产品的架构·网络、资源与热更新》13.2 交付流水线与发布门禁

发布不是「上传完就结束」,而是一条有依赖、有检查、有回滚分支的流水线。本节把构建、签名、上传、灰度、全量与回滚写成可运行的状态图,给出依赖校验、拓扑排序与就绪判定,并用双案例说明为什么回滚必须和发布同时设计、门禁参数为何不能跨产品直接照抄。

6 分钟阅读
书稿 移动游戏 网络架构
books

《移动游戏产品的架构·网络、资源与热更新》12.1 下载器设计:分片、并发与断点续传

消消总资源 480MB、12,800 个文件,弱网会话占 22%,弱网下载成功率只有 92%。本节把下载拆成分片、并发与续传状态三件事,说明分片大小如何决定单次中断的重下上限、并发数为什么必须按网络和机型分级,以及续传状态怎样在进程被杀后仍然可信。

8 分钟阅读
书稿 移动游戏 网络架构
books

《移动游戏产品的架构·网络、资源与热更新》10.3 热更失败与回滚兜底

方舟的一次 45MB 热更可能在拉取、校验、应用、激活四个阶段失败,而战斗数值的回滚窗口只有 15 分钟,整包又无法回滚。本节把失败阶段映射到续传、重试、回滚、关开关、发商店五类动作,用剩余分钟数判断兜底顺序,并给出可重复执行的四阶段失败演练。

9 分钟阅读
书稿 移动游戏 网络架构
books

《移动游戏产品的架构·网络、资源与热更新》10.1 商店允许更新什么

方舟每周平均 45MB 的热更里,哪些内容可以直接下发,哪些必须等商店整包?本节从应用商店审核的对象出发,把变更分成资源、配置、脚本与原生四类,给出支付、概率、玩法规则、权限隐私五条红线,以及 15 分钟回滚预算下的可执行通道判定与批次预算核算。

10 分钟阅读
书稿 移动游戏 网络架构