posts

《游戏服务端架构·规模化、全球化与成本》 · 全书目录与章节索引(45 篇)

《游戏服务端架构》卷三索引:13 章 39 节正文加序、前言、目录与三个附录,讨论容量与弹性、多地域与全球同服、分片与再均衡、缓存与异步、跨服与容灾、成本与合规,并给出四条阅读路径、完整目录、导航约定、全卷验收标准与本地复现口径,便于按角色选择入口。

这一卷解决什么问题

卷二把每个核心系统的契约写清楚之后,规模、地域与成本会重新改写这些契约。卷三讨论的就是这次改写:

全卷 45 篇:39 节正文、序、前言、目录,以及容量估算表、合规检查表、全球化部署清单三个附录。

适合谁读

卷三假设读者已经了解卷一的拓扑选择与卷二的系统契约;没有读过的读者可以先看两卷的目录,再按需回补。

四条阅读路径

路径一:容量到弹性

1.1 承载指标 →
1.2 压测与回放 →
1.3 容量模型 →
2.1 调度器 →
2.2 暖池 →
2.3 缩容排空 。

读完应当能独立写出容量表、扩容触发线与排空流程。

路径二:地域到状态

3.1 延迟预算 →
3.2 数据驻留 →
3.3 状态归属 →
4.1 分片键 →
4.2 一致性哈希 →
4.3 再均衡读写 。

读完应当能回答“玩家数据放在哪、迁移时怎么不断服”。

路径三:数据到跨服

5.1 多级缓存 →
5.2 热 key →
5.3 读写分离 →
6.1 队列语义 →
6.2 积压与死信 →
6.3 对账补偿 →
7.1 跨服匹配 →
7.2 跨服结算 →
7.3 合服迁移 。

读完应当能画出跨服链路的幂等与对账闭环。

路径四:容灾、成本与合规

8.1 备份演练 →
8.2 故障切换 →
8.3 灾难恢复 →
9.1 成本归因 →
9.2 配额混部 →
9.3 成本体验 →
10.1 合规落点 →
10.2 隐私删除 →
10.3 日志审计 。

读完应当能填出容量表、成本表与合规表。

完整目录

第 1 章 容量与压测

第 2 章 弹性与调度

第 3 章 多地域与全球同服

第 4 章 数据分片与再均衡

第 5 章 缓存与读写分离

第 6 章 消息与异步

第 7 章 跨服与跨区

第 8 章 容灾与多活

第 9 章 成本架构

第 10 章 合规与数据治理

第 11 章 发布与灰度

第 12 章 全球化案例

第 13 章 卷三收口

附录

全卷验收标准

读完之后,用下面五条自检:

  1. 能否用一张表说明当前产品的峰值、单实例能力、实例数、余量与扩容触发线?
  2. 能否回答“玩家数据放在哪、跨区读写允许旧多久、迁移时怎么不断服”?
  3. 能否列出所有跨服链路,并说明每条链路的幂等键、超时与补偿?
  4. 能否算出每 DAU、每房间小时、每千次对局的成本,并指出成本拐点?
  5. 能否把每个合规要求映射到服务、字段、失败处理与证据?

五条里有两条答不上来,说明卷三对应的章节还需要重读一遍。

导航约定

本卷正文全部使用 relref 互链,序号从 1.1 到 13.3;序、前言、目录与附录不带阅读导航行。每节结尾的导航行指向前后相邻小节,13.3 的下一节指回本目录。

卷三讨论的是规模化阶段的架构取舍;具体实现细节(网络、AOI、战斗、技能)请参阅《MMO 服务器开发》系列。

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

《游戏服务端架构·规模化、全球化与成本》附录 C 全球化部署清单

一份全球化部署检查清单:从区域选择、延迟预算、数据驻留、账号与支付本地化,到容量余量、发布顺序、监控告警与回滚路径,逐项给出判断依据与验收方法,并附三款产品的部署形态对照、常见错误和一页纸模板。并说明区域退出与值班安排。并给出三款产品的部署形态对照与常见错误。

5 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》附录 B 合规检查表

一份面向服务端架构的合规检查表:把版号、实名、防沉迷、支付、隐私、数据出境、删除权、日志留存与审计逐项映射到具体服务、字段和失败处理,给出检查方法、常见缺口与一页纸清单,便于在版本评审和上线前逐条核对。并说明评审问题与证据留存要求。并给出跨区场景的五个必答问题与一页纸清单。

5 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》附录 A 容量估算表

一份可直接填写的容量估算表:承载指标口径、自底向上与自顶向下两种算法、余量结构、扩容触发线与三款产品的示例行,并给出填写顺序、常见错误和一页纸模板,帮助团队把“能扛多少人”变成可复算的表格而不是会议上的估计。并附填写顺序与复算入口。并给出三款产品的示例行与常见错误。

5 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》13.3 进入卷四:平台化与治理

卷三把容量、成本、合规和全球化决策做成了表与矩阵,但多产品复用、平台契约、发布治理和成本治理仍然停在产品团队各自为战的状态。本文给出能力升级为平台的判据、四类交接事项、产品与平台的责任边界、缺口报告与验收标准,并用 Go 实现交接清单的结构校验、依赖环检测和责任归属检查。

10 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》13.2 全球化架构决策矩阵

全球化不是一道是非题,而是同一组选项在不同产品权重下的排序。本文给出延迟、合规、成本、运维复杂度、发布速度五个维度的评分锚点,说明三款产品的权重差异与硬约束,演示矩阵在新项目立项、区域扩张、成本压缩三种场景下的用法,并用 Go 实现加权评分、硬约束过滤与确定性结论生成。

11 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》13.1 容量表、成本表与合规表

三张表不是季度汇报的附件,而是三条互相咬合的控制回路:容量变化触发成本重算,合规变化触发架构复审,成本越界触发配额与拓扑调整。本文给出容量表、成本表、合规表的字段、填写人、更新频率与联动规则,并用 Go 实现缺项检测、故障域余量校验和跨表影响分析。

9 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》12.3 《泡泡工坊》的轻量出海

《泡泡工坊》没有全球单世界的包袱,也没有竞技产品的延迟硬约束:本文复盘北辰如何用单区域多可用区、无状态大厅加专用房间和 CDN 把休闲产品送出海,给出部署形态评分、区域筛选与月度成本估算的可运行 Go 实现,并说明什么情况下坚决不上多区域,以及多区域的升级门槛。

11 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》12.2 《群岛纪元》的全球同服

《群岛纪元》要的是全球单世界,而不是把玩家分开:本文复盘北辰如何在地图分片、联盟跨时区、王战时间窗与数据驻留之间取舍,给出世界分区、联盟归属、扫描预算、状态迁移与六组表驱动测试的可运行 Go 实现,并说明如果重做一次,哪些全球社交功能会被降级为只读汇总。

11 分钟阅读
书稿 游戏服务端 分布式系统
books

《游戏服务端架构·规模化、全球化与成本》12.1 《裂隙战场》的赛区与延迟

《裂隙战场》把赛区当成产品决策而不是机房清单:本文复盘北辰在延迟、赛事、观战与成本之间的四次让步,给出赛区候选打分、输入延迟预算、跨区判定、低峰赛区合并与六组表驱动测试的可运行 Go 实现,并说明如果重做一次,哪些跨区匹配会被直接放弃、哪些低峰成本不再摊薄。

10 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》11.3 回滚、开关与灰度

《裂隙战场》一次 30% 灰度里错误率正常、退款率却先抬头,自动回滚没有触发。这一节把开关分成总开关、区服、玩法与白名单四级,给出区服、比例、房间类型、渠道四个灰度维度与放量节奏,并讨论错误率、延迟、客诉、经济指标各自的回滚判据和自动回滚的边界。

13 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》11.2 兼容窗口与数据迁移

《群岛纪元》一次联盟字段改名,让回滚后的旧服务端读不到数据。这一节把兼容拆成新读旧、旧读新两个方向,给出扩、双写、收三阶段迁移的状态机与回填约束,用最长对局、最长离线与最长回滚时间取最大值来确定兼容窗口,并附可运行的迁移阶段、窗口计算与回滚判定代码。

13 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》11.1 有状态服务的发布

《裂隙战场》午夜重启断掉两百局对局之后,北辰把发版从“重启进程”改成“排空发布”。这一节比较房间、进程、区服三种发布单元的代价,给出停新进、等对局、超时强迁的状态机、分批顺序与活动日历约束,并讨论混版本时协议兼容、房间内一致与跨版本匹配的边界。

13 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》10.3 日志留存、审计与取证

安全审计、支付、战斗和行为日志的保留期不同,冷热分层与不可改写要求也不同。本文按日志类别配置留存参数,讨论热存、冷存、归档与到期清理的边界,用追加写和哈希链检测篡改,说明取证导出时的授权分离、脱敏与清单摘要,并附 internal/auditretention 的 Go 实现与六组表驱动测试。

9 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》10.2 隐私、数据出境与删除权

《群岛纪元》的一张客服工单同时牵出身份、支付、日志和战斗回放:它们对驻留、最小化和删除的要求并不相同。本文按数据类别而不是按表定义规则,比较区域内闭环、白名单传输与去标识化汇聚,拆解删除请求在主数据、缓存、日志、备份和第三方之间的级联与完成证明,并附 internal/privacydeletion 的 Go 实现与六组表驱动测试。

8 分钟阅读
书稿 游戏服务端 分布式系统
books

《游戏服务端架构·规模化、全球化与成本》10.1 版号、实名、防沉迷的架构落点

《裂隙战场》《群岛纪元》《泡泡工坊》的登录、进服、支付和跨区四个入口,需要的不是同一套实名与时长校验。本文把版号、实名、年龄与防沉迷拆成可配置的规则表,讨论自有与渠道实名服务的缓存和失败策略,说明按账号累计、跨天切分与断线重连的计时边界,并附 internal/compliancerules 的 Go 实现与六组表驱动测试。

9 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》9.3 成本与体验的取舍

扩容不是线性的,降本也不是免费的。《裂隙战场》想把 tick 从 20Hz 降到 15Hz,《群岛纪元》想合并低峰区,《泡泡工坊》想缩短日志保留期,三个提案都需要同一把尺子。本节给出体验影响、成本节省、可逆性三维评分,阈值筛选与组合估算,并用可运行的 Go 夹具演示评分、准入与节省上限。

8 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》9.2 资源配额与混部

《泡泡工坊》的离线报表和《裂隙战场》的房间服混在同一批节点上,活动夜一次内存溢出把正在对局的房间踢了下去。本节给出产品、环境、玩法三层配额模型,区分可超卖与不可超卖的资源,定义驱逐顺序与隔离检查,并用可运行的 Go 夹具演示配额校验、超卖准入与混部冲突检测。

8 分钟阅读
书稿 游戏服务端 分布式系统
books

《游戏服务端架构·规模化、全球化与成本》9.1 成本归因与单位经济

《群岛纪元》的月度账单涨了 23%,却没人说得清是哪个产品、哪个玩法烧掉的。本节把计算、带宽、存储、数据库、CDN 与第三方服务拆成可归因的成本行,给出每 DAU、每房间小时、每千次对局与每 GB 的单位经济算法,并用可运行的 Go 夹具演示共享成本分摊、环比对比与账目平衡校验。

8 分钟阅读
书稿 游戏服务端 架构设计
books

《游戏服务端架构·规模化、全球化与成本》8.3 有状态服务的灾难恢复

《裂隙战场》的房间进程崩溃后,玩家重连看到的是十秒前的战场;《群岛纪元》的回档则要回答离线收益会不会发两次。本节讨论快照与事件日志的恢复契约、重连补偿的 TTL 与时间跳跃、重复结算的幂等拦截,以及按依赖顺序降级恢复的取舍,并给出可运行的 Go 夹具。

9 分钟阅读
书稿 游戏服务端 分布式系统
books

《游戏服务端架构·规模化、全球化与成本》8.2 主备、双活与故障切换

《群岛纪元》的一次主库故障让全球同服停了二十分钟,《裂隙战场》的房间服则靠重建而不是切换活了下来。本节比较主备、双活与多活的代价,拆解检测、仲裁、提升、回切四步,讨论脑裂、fencing token 与数据损失边界,并用可运行的 Go 状态机演示切换判定与旧主写入拦截。

9 分钟阅读
书稿 游戏服务端 分布式系统