posts

文章归档

PlumePHP 全站文章的归档入口,按时间倒序汇总各专题的技术文章,并提供按主题浏览的专题分类入口。

这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。

全部文章

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

《游戏服务端架构·核心系统与契约》6.1 货币、产出与消耗

《群岛纪元》一次活动配置把奖励放大十倍,团队却只能看到余额异常,查不出是哪条产出路径、发给了谁、是否已流入玩家交易。本节结合三款产品的货币分层,比较单表余额、双分录账本与事件溯源,说明来源标签、对账频率和差异处置,并给出可运行的 Go 双分录账本与失败模式。

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

《互联网产品的服务端架构·产品、流量与基础能力》9.1 哪些事情不该阻塞用户

从「回声」发帖按钮转圈八秒的事故写起,说明同步与异步的分界线不是操作快慢,而是用户此刻是否在等结果、失败后能否撤回。文章把发帖拆成写库、图片处理、审核与通知四段,给出可测试的 Decide 与 Explain 实现和边界测试,避免把后台副作用塞进用户请求。

10 分钟阅读
书稿 互联网产品 服务端架构
books

《互联网产品的服务端架构·产品、流量与基础能力》8.3 热点与失效的产品表现

从大 V 发帖打满单个分片、整点配置统一过期两次事故写起,说明热 key 与集中失效是两种不同故障,给出访问占比探测、样本门槛与稳定分片的可测试 Go 实现,并讨论大 V 发帖、秒杀与整点刷新三类热点的观测和处置顺序,避免用同一套手段处理两种不同事故。

9 分钟阅读
书稿 互联网产品 服务端架构
books

《互联网产品的服务端架构·产品、流量与基础能力》8.1 读多写少的产品事实

从一个社区首页按 DAU 估算缓存容量、结果命中率只有 22% 的事故写起,说明读多写少不是拍脑袋的常识,而是要用读次数、写次数、独立键数与值大小测出来的事实,并给出读写比、工作集和缓存建议的可测试 Go 实现,避免继续用请求量代替缓存容量。

9 分钟阅读
书稿 互联网产品 服务端架构
books

《互联网产品的服务端架构·产品、流量与基础能力》6.3 版本演进与兼容窗口

从服务端删掉一个字段导致三个月未升级的 App 白屏的事故写起,说明兼容窗口为什么由客户端版本分布决定而不是服务端想象,梳理新增、改名、删除、收紧校验和主版本升级的处理方式;并附版本解析、兼容判断与退役时间检查的 Go 实现、表驱动测试和真实运行输出。

9 分钟阅读
书稿 互联网产品 服务端架构
books

《互联网产品的服务端架构·产品、流量与基础能力》6.2 错误码与用户可感知的失败

从大促零点一条把 SQL 报错返回给用户的事故写起,说明错误码为什么是产品契约而不是异常栈导出,如何区分用户可解决、系统可恢复与不该发生的失败,并用可重试标记约束客户端的自动重试行为;附错误码表校验与查询的 Go 实现和边界测试,避免局部故障被重试放大成全站事故。

9 分钟阅读
书稿 互联网产品 服务端架构
books

《互联网产品的服务端架构·产品、流量与基础能力》6.1 资源、命令与产品语义

从「回声」点赞按钮被预取和重试重复执行的事故写起,说明资源查询与命令的本质区别、命令自然键的组成,以及同一动作在 App、Web、小程序三端为什么必须共用一套语义;附 HTTP 方法分类器的 Go 实现与表驱动测试,把幂等和可缓存钉在接口入口。

9 分钟阅读
书稿 互联网产品 服务端架构
books

《互联网产品的服务端架构·产品、流量与基础能力》5.3 端上体验与服务端取舍

从「回声」为省一次请求把 2MB 数据塞进首屏接口的事故写起,拆解首屏时间、流量、电量和弱网四个端上约束,说明服务端能做什么、不该做什么,并用一个按优先级裁剪的 Go 预算函数把取舍变成可执行代码,避免首屏被一个大响应拖垮并显著放大故障半径。

10 分钟阅读
书稿 互联网产品 服务端架构
books

《互联网产品的服务端架构·产品、流量与基础能力》5.2 BFF 的聚合、裁剪与契约

从「回声」首页一个下游超时导致整页空白的事故写起,说明 BFF 聚合为什么不是把接口拼成一个 JSON,并把字段来源、失败语义、缓存键和按端裁剪写成一份可测试的契约,附聚合与合并的 Go 实现和边界测试,避免把五个下游的故障绑成一个更大的故障。

10 分钟阅读
书稿 互联网产品 服务端架构