posts

文章归档

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

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

全部文章

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

《移动游戏产品的架构·客户端与移动运行时》7.3 触控仲裁与误触防护

触控仲裁不是命中测试,而是按时间、位移与手指数决定这一下算点击、滑动、长按还是多指。本节给出四类手势的阈值状态机,把弹窗遮罩、UI 与玩法输入的优先级写进同一套输入门,并说明边缘防误触与连点冷却如何用可回归测试锁住,避免一次手势被投递两遍。

6 分钟阅读
书稿 移动游戏 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》6.2 产物治理与缓存

缓存命中率低,原因往往不是缓存没有生效,而是缓存键没有覆盖真正的输入。本节把内容哈希、工具链、环境变量与依赖产物拼成稳定缓存键,给出命中、键变化、产物缺失与过期四类判定,并用产物清单与体积预算把构建结果变成可审计的事实。命中率只是结果,可重现才是目标。

6 分钟阅读
书稿 互联网产品 客户端架构
books

《游戏服务端架构·核心系统与契约》11.1 支付渠道与发货幂等

《泡泡工坊》上线首日,支付渠道重复回调让同一笔 6 元订单发了两次货,客服只能按截图手工补单。本节拆解下单、回调、验签、发货与通知的状态机,比较同步发货和先记账后异步发货,说明订单号与渠道单号的绑定、事件去重与发货重试的边界,并给出可运行的 Go 回调处理与幂等发货片段。

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

《互联网产品的 AI 架构·模型接入与能力边界》11.3 输出审查与内容安全接入

一次输出拦截没有申诉入口,让「回声」的内容安全接入暴露出规则与流程的双重缺口。本篇给出规则加分类器的双层审查、拦截与降级、只存哈希的审计记录与带时限的申诉状态机,用可运行的 TypeScript 测试固定决策顺序、降级行为与已知边界,并说明申诉推翻后为什么不能自动放行原文。

8 分钟阅读
书稿 互联网产品 AI 架构
books

《互联网产品的客户端架构·规模化与架构演进》6.1 Monorepo 与包边界

Monorepo 的难点不是把代码放进一个仓库,而是让包边界可执行。本节把包声明、依赖、公开与内部可见性、子路径导出写成一张依赖图,用拓扑排序与环检测给出构建顺序,再用纯函数判断跨包引用是否合法,并复盘一次深路径引用绕过评审的事故。边界一旦只写在文档里,就会在第一次赶工期时失效。

7 分钟阅读
书稿 互联网产品 客户端架构
books

《游戏服务端架构·核心系统与契约》10.3 批量领取、补偿与红点

一键领取看似只是循环调用单封领取,真正的问题是部分成功如何表达、失败要不要回滚、补偿怎样避免重复,以及红点计数怎样和邮件列表保持一致。《裂隙战场》的赛季结算、《群岛纪元》的全服补偿、《泡泡工坊》的日常奖励,都需要同一套批量语义。本节给出批量领取结果模型、补偿幂等键与审计日志,以及由同一份列表派生的红点聚合。

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

《互联网产品的客户端架构·规模化与架构演进》5.3 故障演练与恢复验证

演练最容易通过的部分是注入,最容易造假的部分是恢复。若没有恢复断言与未通过项记录,「演练成功」只是一句口号。本节把演练场景、注入步骤、恢复断言与报告判定写成可运行的 TypeScript 模型,并说明 incomplete 与 fail 的区别、中止条件与报告评审判据。

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

《互联网产品的 AI 架构·模型接入与能力边界》11.2 提示注入与输入信任边界

用户在评论里写下「忽略前面的指令」,检索文档里又藏着角色伪造。「回声」的这次事故说明,提示注入不是句子黑名单问题,而是信任边界问题。本篇把系统指令、用户内容、检索内容与工具输出分成四层,给出可断言的信号评分、隔离策略和工具参数二次校验,并说明为什么正则只能是信号而不能是唯一防线。

8 分钟阅读
书稿 互联网产品 AI 架构
books

《后端架构设计·演进与治理》8.1 故障注入的层次:进程、网络、依赖与区域

从 arch-lab 订单系统一次按实例比例审批、却在网络层故障中放大到全链路的事故切入,区分进程、网络、依赖与区域四层注入各能证明什么,给出按拓扑计算真实爆炸半径、检查关键状态转换损失并在超预算时拒绝执行的 Go 实现与表驱动测试,全部代码在本机跑通。

8 分钟阅读
书稿 后端架构 Go
books

《游戏服务端架构·核心系统与契约》10.2 附件、过期与流拍结算

邮件正文可以永久可读,附件却是有归属、有期限的资产。《裂隙战场》的赛季奖励、《群岛纪元》的联盟补给、《泡泡工坊》的限时礼包,都要回答领取是否原子、过期后归谁、背包满时怎么办。本节给出附件状态机、过期扫描与宽限期、三种结算策略,并附可运行的领取幂等与流拍结算代码。

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

《互联网产品的客户端架构·规模化与架构演进》5.2 降级、开关与兜底

开关越多,事故时越容易互相打架:用户级、实验级、端级与全局规则同时命中时,必须有一个确定的赢家。本节把开关层级、冲突检测、降级动作与兜底内容写成可测试的 TypeScript 模块,并给出优先级判据、常见反例与发布前的审计清单,让每一次关闭都有据可查。

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

《后端架构设计·分布式与数据一致性》7.3 TCC、本地消息表与事务状态的可见性

支付回调超时后,Cancel 可能先于 Try 到达,造成空回滚;迟到的 Try 又可能永久占住库存,形成悬挂。本文用订单预占场景实现带墓碑与状态机的 TCC,并用同库本地消息表让 TRYING、CONFIRMED、CANCELLED 对下游可见,给出空回滚、悬挂、幂等与中间态查询的可运行测试。

9 分钟阅读
书稿 后端架构 Go
books

《后端架构设计·分布式与数据一致性》7.2 Saga:补偿、语义锁与不可补偿步骤

订单 Saga 失败时,“把前面的步骤反向调用一遍”看似简单,实际补偿是新业务动作,可能失败、可能不幂等,也挡不住并发请求读到中间态。本文用库存预留、支付扣款与发券场景,给出带语义锁、逆序补偿和不可补偿步骤校验的可运行 Go 实现,并列出把不可逆动作前移或改为可重试的判据。

10 分钟阅读
书稿 后端架构 Go
books

《后端架构设计·分布式与数据一致性》7.1 2PC 与 3PC:准备、提交与协调者故障

订单与库存、支付分库后,两阶段提交常被当成“分布式事务的标准答案”。本文用一次下单说明它真正保证的是原子提交而不是不阻塞,给出参与者日志、协调者决策日志与崩溃恢复的可运行 Go 实现,复现 in-doubt 窗口,并用判据表比较 2PC、3PC 与补偿型方案。

9 分钟阅读
书稿 后端架构 Go
books

《互联网产品的客户端架构·规模化与架构演进》5.1 故障域与爆炸半径

端上故障很少只坏一个按钮:一个共享依赖失效,可能同时带走首页、下单与通知。本节把依赖图、故障域、单点与爆炸半径写成可运行的 TypeScript 模型,用受影响功能比例量化一次故障的波及面,并给出评审判据与常见反例,让「影响面多大」从口头争论变成可计算的数字。

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

《互联网产品的 AI 架构·模型接入与能力边界》11.1 密钥、租户与数据出域

从「回声」把合作方租户私信送进主站模型的事故出发,拆解密钥分级与轮换、租户隔离、出域字段白名单和区域路由四道边界,给出可运行的 TypeScript 实现与 11 条测试,说明每次放行为什么都要留下可追溯的决策记录,再复盘一次跨租户调用为什么会同时穿过四道默认值。

8 分钟阅读
书稿 互联网产品 AI 架构
books

《移动游戏产品的架构·客户端与移动运行时》7.1 UI 栈、弹窗队列与返回键语义

返回键不是「关闭当前界面」,而是从最上层消费一次导航意图。本节用页面栈、互斥弹窗队列、优先级、去重与抢占规则,解释 Android 返回键和 iOS 侧滑为何必须归一化成不同结果,并给出连点节流与 Toast 冷却的可运行模型,让误退出和重复弹窗变成可回归的断言。

7 分钟阅读
书稿 移动游戏 客户端架构