这个目录是 2021 年 12 月的游戏服务端架构笔记合集,10 篇,也是这条月度笔记线的收官。本月把前面十个月反复出现的模式做了收敛:托管、租约、订阅、预算、锁定,这些词背后其实是同一类问题的不同命名——一件资源在同一时间只能由一个明确的角色负责。
具体到本月,几条主线分别是:技能施放与副本锁定处理「战斗与进度的边界」,货币托管与商店库存处理「扣减与发货的一致性」,邮件路由与 RPC 预算处理「跨分片与跨服务的可靠性」,兴趣订阅、NPC 租约、公会战报名与举报证据则处理「谁能看到什么、谁能动什么、谁留下了什么记录」。
它适合正在做交易与货币、副本与公会战、跨服通信与风控的服务端工程师,也适合需要给团队定「托管与租约」规范的架构师。使用方式:先看速览确定系统归属,再按四个主题小节跳转;每篇都从一个真实争议讲起,落到托管模型、锁定窗口与预算口径。
需要说明的是,本页只做导航,不重复文章内容。所有链接都指向文章的真实根级 slug,四个分组按「读者要解决的系统问题」划分,同一篇只归入最贴近的一组,以免导航膨胀成重复列表。
专题速览
| 项目 | 内容 |
|---|---|
| 本目录直接文章 | 10 篇 |
| 时间跨度 | 2021-12-02 至 2021-12-29 |
| 主题分组 | 4 个(战斗与副本状态、货币托管与商店库存、邮件路由与 RPC 预算、兴趣订阅与租约) |
| 内容形态 | 问题驱动型架构笔记,先给争议场景,再给托管模型、锁定窗口与预算口径 |
| 覆盖方向 | 技能打断、副本锁定、货币托管、商店库存、邮件路由、超时预算 |
| 适用读者 | 游戏后端工程师、服务端主程、负责交易与跨服系统的技术负责人 |
| 前置知识 | 了解基本的托管/两阶段提交、租约与超时预算概念即可 |
| 阅读建议 | 按主题跳转,四组相互独立;托管与副本两组建议优先阅读 |
| 单篇篇幅 | 每篇约 3000 至 5000 字,含托管模型、锁定窗口与预算口径 |
| 复用价值 | 托管、租约与超时预算三类模式可迁移到任何涉及资产与跨服务调用的系统 |
| 相关月份 | 前接 2021 年 11 月的战场计分与转服预检主题,也是 2021 年全年月度笔记的收尾 |
| 维护方式 | 新增文章时只补主题小节与速查表,不移动既有文件,保证公开 URL 稳定 |
战斗与副本状态
这一组处理「战斗与进度的边界」。技能系统最容易积累债务,若只把技能当成「收到请求后立即扣蓝并造成伤害」的函数,后续每加一个打断规则都会变成条件分支,因此需要把前摇、后摇、霸体、沉默与取消窗口显式建模;多人副本最怕进度说不清,队长掉线、成员换人、服务器重启与故意卡点都需要锁定与存档点来界定。
两篇的共同结论是:战斗与副本都需要把「阶段」和「资格」写成显式状态,而不是靠内存里的临时字段。
| 文章 | 一句话核心内容 |
|---|---|
| 游戏服务器技能施放与打断架构设计 | 显式建模前摇、后摇、霸体与取消窗口,避免打断规则变成条件分支 |
| 游戏服务器副本锁定与存档点架构设计 | 用锁定与存档点界定进度与奖励资格,处理掉线、换人与重启 |
货币托管与商店库存
这一组处理「扣减与发货的一致性」。货币扣减比发奖更敏感,玩家买东西、挂拍卖、竞拍与抽卡时一旦出现扣了钱没拿到东西,信任会迅速崩塌,因此需要预占与托管而不是先扣再补;赛季商店则从几件商品逐渐长出个人限购、全服库存、每日刷新、阶梯解锁与跨赛季继承,规则如果都写在购买接口里,补货与回滚时会非常被动。
两篇合起来说明:把「钱」和「货」都当成需要流水与余额两条记录的对象。
| 文章 | 一句话核心内容 |
|---|---|
| 游戏服务器货币预占与托管架构设计 | 用预占与托管替代先扣再补,保证扣减与发货两侧都说得清 |
| 游戏服务器赛季商店库存架构设计 | 把限购、库存、刷新与继承从购买接口中拆出,支撑补货与回滚 |
邮件路由与 RPC 预算
这一组处理「跨分片与跨服务的可靠性」。邮件在单区单服很容易实现,但跨服活动、合区、玩家迁移与全服补偿之后,发送方不一定知道玩家在哪个分片,重复投递会造成附件重复领取;跨服务调用如果凭经验设置超时,会出现重试风暴与级联失败,因此需要超时预算与降级边界。
两篇的共同点是:跨服务可靠性要靠预算与幂等,而不是靠重试次数堆出来。
| 文章 | 一句话核心内容 |
|---|---|
| 游戏服务器跨分片邮件路由架构设计 | 处理跨服、合区与迁移下的邮件投递,避免重复投递与丢失 |
| 游戏服务器 RPC 超时预算架构设计 | 用超时预算、降级边界与重试策略治理跨服务调用,避免级联失败 |
兴趣订阅与租约
这一组处理「谁能看到什么、谁能动什么、谁留下了什么记录」。实体兴趣订阅不只是 AOI,玩家可能离世界 Boss 很远却需要持续看到血量,商会成员不在同一地图也要看到仓库变动,观战者需要订阅双方技能与比分;NPC 刷新需要租约避免两个地图服同时刷新同一只精英;公会战报名则要在成员频繁进出公会与临近截止调整阵容的情况下确定资格;举报证据流水线要在正确时间采样、关联与留存。
四篇的共性是把「关系、所有权、资格、证据」四类信息显式建模。
| 文章 | 一句话核心内容 |
|---|---|
| 游戏服务器实体兴趣订阅架构设计 | 把兴趣订阅从距离扩展到关系与玩法,处理跨图与观战场景 |
| 游戏服务器 NPC 刷新租约架构设计 | 用租约避免重复刷新,处理地图分线、热区迁移与重启接管 |
| 游戏服务器公会战报名与锁定架构设计 | 明确报名资格、锁定窗口与阵容变更规则,减少赛季争议 |
| 游戏服务器玩家举报证据流水线架构设计 | 在正确时间采样与关联证据,让处罚有依据且可追溯 |
本月主题脉络
12 月的十篇笔记有一条共同主线:资源必须有唯一的负责角色。货币要托管,商店库存要有流水,邮件要有幂等键,NPC 要有租约,副本要有锁定,公会战报名要有资格状态。这其实就是前面十个月反复出现的租约、预占与账本模式在本月的集中收束。
第二条主线是「跨服务调用要可预算」。RPC 超时预算、跨分片邮件路由,都在回答「当调用对方不确定、可能慢、可能重复时,调用方该如何自保」,答案是把超时、降级、重试与幂等写成显式预算而不是默认值。
第三条主线是「记录本身就是能力」。举报证据流水线、商店库存流水、副本存档点、公会战报名状态,本月几乎每一篇都在强调:能留下可复核的记录,系统才能在争议中站得住。
本月文章速查
按发布时间排列,便于对照当月写作节奏与主题推进顺序。表格里的分组与本页上面的四个主题小节一一对应。
| 日期 | 文章 | 所属分组 |
|---|---|---|
| 2021-12-02 | 游戏服务器 RPC 超时预算架构设计 | 邮件路由与 RPC 预算 |
| 2021-12-05 | 游戏服务器实体兴趣订阅架构设计 | 兴趣订阅与租约 |
| 2021-12-08 | 游戏服务器副本锁定与存档点架构设计 | 战斗与副本状态 |
| 2021-12-11 | 游戏服务器货币预占与托管架构设计 | 货币托管与商店库存 |
| 2021-12-14 | 游戏服务器技能施放与打断架构设计 | 战斗与副本状态 |
| 2021-12-17 | 游戏服务器公会战报名与锁定架构设计 | 兴趣订阅与租约 |
| 2021-12-20 | 游戏服务器 NPC 刷新租约架构设计 | 兴趣订阅与租约 |
| 2021-12-23 | 游戏服务器玩家举报证据流水线架构设计 | 兴趣订阅与租约 |
| 2021-12-26 | 游戏服务器赛季商店库存架构设计 | 货币托管与商店库存 |
| 2021-12-29 | 游戏服务器跨分片邮件路由架构设计 | 邮件路由与 RPC 预算 |
推荐阅读路径
路径一 做交易与货币系统的同学
先读货币预占与托管与赛季商店库存,建立「钱货两清要有流水与余额」的认知。再读 2021 年 3 月的拍卖冻结与 2021 年 7 月的库存预占,把预占模式扩展到交易与背包;最后读跨分片邮件路由,覆盖补偿发放。
路径二 做副本与公会战的同学
从副本锁定与存档点进入,掌握进度与资格的界定方式;再读公会战报名与锁定,理解报名资格与阵容变更的规则设计。最后读 2021 年 8 月的副本进度恢复,把断线恢复与锁定补齐。
路径三 做跨服通信与风控的同学
先读 RPC 超时预算与跨分片邮件路由,建立「跨服务调用要有预算与幂等」的认知。再读实体兴趣订阅与 NPC 刷新租约,理解跨服务所有权处理;最后读玩家举报证据流水线,把风控闭环收口。
交叉阅读提示
- 货币预占与托管与 2021 年 7 月的库存预占是同一模式的两个层面,建议连续阅读。
- NPC 刷新租约与 2021 年 7 月的世界对象租约主题完全一致,建议对照阅读以理解租约的通用形态。
- 副本锁定与存档点与 2021 年 8 月的副本进度恢复是同一链路的前后两段,建议一起看。
相关专题
- 游戏服务器专题总览,本目录所在的上层专题,可按框架、工程与月度三条主线查找
- 2021 年 11 月服务器笔记,本月的上一期,聚焦战场计分与角色转服预检
- 2021 年 2 月服务器笔记,本月度笔记线的起点,可对照阅读以看清全年主题演进
- 游戏服务器实战工程,更偏工程落地的同主题笔记合集
- Skynet 服务端框架,从 Actor 模型角度理解租约与消息投递的实现方式
- 游戏设计专题,从玩法与数值侧理解这些服务端约束的来由