这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
《游戏服务端架构·规模化、全球化与成本》1.1 承载指标:不要只看在线人数
“在线十万人”回答不了能开多少房间、一次登录洪峰要几台机器。本文把承载能力拆成 PCU/CCU、房间数、tick 预算、消息速率、登录与匹配 QPS、广播扇出六类指标,给出北辰三款产品的指标台账与 1 分钟/5 分钟峰值口径,并用 Go 实现滑窗峰值、Little 定律换算和按维度隔离的指标账本。
posts
这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
“在线十万人”回答不了能开多少房间、一次登录洪峰要几台机器。本文把承载能力拆成 PCU/CCU、房间数、tick 预算、消息速率、登录与匹配 QPS、广播扇出六类指标,给出北辰三款产品的指标台账与 1 分钟/5 分钟峰值口径,并用 Go 实现滑窗峰值、Little 定律换算和按维度隔离的指标账本。
同一版本在德国能刷卡、在巴西只能货到付款、在阿联酋没有在线客服。区域能力不是布尔开关,而是有优先级的矩阵与降级链。本节把支付、物流、地图、客服四类能力、缺失时的降级路径与区域判定优先级写成可测试模块,避免同一区域在不同页面表现不一致,并给出判据与反例。
前十二章的部件都写好了,却没有一条流水线把它们按正确顺序串起来。本节把认证与配额、缓存、路由、调用、校验和降级组合成基线:说明缓存为什么在路由之前、预算如何逐段扣减、命中与降级各记录哪些字段,以及失败时由哪一层负责,并给出可运行实现与九个确定性测试。
两台设备同时推进赛季,整包覆盖必然丢一边的数据。本节用字段级版本向量区分因果与并发,按 lww、max、union、sum 与服务端权威五种规则合并,明确消消弱联网与方舟强联网的不同策略、冲突提示边界,并给出可运行的 merge.ts 模型。
卷三全 45 篇目录与阅读路径:按容量与弹性、地域与状态、数据与缓存、异步与跨服、容灾与成本、合规与收口六段组织,给出服务端工程师、技术负责人、平台团队与产品运营四条路线,以及每章对应的 Go 验证包和可运行性口径。并说明导航约定与编号口径。
从 arch-lab 一张 5500 元账单里 23.6% 找不到负责人的场景切入,说明租户、服务、环境、负责人四个归因维度为何是分摊契约,给出保留未分摊桶、按驱动量拆分共享池的 Go 实现,并用固定账单数据实测归因结果、最大余数分摊与单位经济。
本篇交代卷三的技术基线、案例构造、13 章对应的 Go 验证包、L1 到 L4 的可运行性口径、数字证据规则,以及按角色阅读与本地复现方式,说明容量、地域与成本这类规模决策如何落成容量表、状态机、评分矩阵等可检查产物。并给出各章验证包与本地复现命令。
卷二把每个核心系统的契约写清楚之后,规模、全球化与成本会重新改写这些契约。本序说明卷三为什么必须单独成卷、要回答的四个问题、与《MMO 服务器开发》的分工,以及三款产品在规模化阶段暴露出的真实矛盾与阅读方式。并说明按角色的阅读顺序与本书的写作边界。
把卷二十三个核心系统常见的失败模式收进一张可查的表:症状、触发条件、影响面、可探测性、兜底动作与责任方,并给出跨系统故障链、最小可观测集、演练方法与一页纸复盘模板,清单可直接用于评审、事故复盘与演练设计,每条给出责任方与兜底动作,并附一页纸复盘模板。
阿拉伯语用户打开同一张订单页,返回箭头仍指向左边,订单号在双向文本里跳到句子另一端。本节把方向传播、逻辑属性映射、双向文本隔离与图标镜像规则写成可测试的 TypeScript 模块,并说明哪一层负责决定方向、哪些元素该镜像、哪些必须保持原样。
一份可直接用于评审的系统契约模板:数据所有权、读写权限、幂等键、一致性窗口、失败语义、SLA、保留期与降级责任,并给出账号、结算、支付、平台四个填写示例和常见错误清单,帮助团队把口头约定变成可检查的条目,并说明契约卡与故障清单如何配合使用。
用 1000 个延迟任务对比最小堆与 64 桶时间轮的排序结果和扫描成本,实测 heap 16997 次比较、wheel 4416 次检查;给出按 next、now、间隔与上限计算 misfire 补偿的 Go 实现,覆盖补跑一次、跳过与大规模补跑上限的边界。
从 arch-lab 平台周报里 66% 的采纳率被拆成 38% 的席位加权率这一具体场景切入,说明团队均值这个数字为什么会被小团队放大,如何把未采纳原因、迁移成本、退出成本与回收期放进同一张记分卡,并给出可运行的 Go 实现与本机真实测试输出。
把 1000 个未支付订单拆成 4 个分片,用每 10 条提交一次的检查点跑批;在副作用之后、检查点提交之前注入崩溃,实测重放 7 条、去重后副作用仍为 1000 次,并给出带 epoch 的检查点与幂等 Sink 的 Go 实现和崩溃恢复边界。
把 northstar-platform 对三款产品开放的核心接口收成一张速查表:账号、登录、匹配、房间、结算、经济、社交、榜单、邮件、支付、合规与数据,逐项列出调用方式、幂等键、一致性窗口、典型错误与降级语义,并给出统一错误分类和职责边界。
用 20 个结算任务与 3 个 worker 的确定性模拟,比较全量轮询、claim 抢占和领导者选举在重复触发、空转与故障恢复上的差异;给出带 epoch 围栏的 Go 租约与选举实现,并用暂停 leader 恢复后写入被拒的测试验证围栏不变量,附原始测试输出。
同一笔订单在圣保罗下单、在莫斯科退款时,文案复数、时区换算和货币最小单位会同时出错,三类故障常常互相掩盖。本节把参数化文案、UTC 存储与区域展示、按币种舍入写成可测试的 TypeScript 模块,并给出金额与时间在国际化场景下的判据与反例。
「回声」的五个 AI 能力散落在五份文档里,评审时才发现摘要没有降级路径、审核却声明了模板兜底。本节把能力契约收敛成一张六面矩阵:输入、输出、质量、延迟、成本与失败姿态逐项填值,区分契约字段与租户配置,按风险分数排序,并给出可运行的 TypeScript 矩阵视图与缺失面门禁。
《潮汐方舟》回滚包把新字段写没后,赛季进度无法恢复。本节把存档拆成信封、schema、迁移链与向前兼容窗口四层:格式不对拒绝读,字段不对拒绝写,迁移断链停在断点,校验和不通过回退备份,并给出可运行的 SaveStore 模型与 13 条测试。
《Java 响应式编程·流处理引擎与实时计算》全书总结:三卷知识体系回顾、Kafka Streams 与 Flink 的核心概念提炼、eventd v3 贯穿项目的知识映射,以及面向后端开发、数据工程和架构师三类读者的进阶路径建议与后续深入学习的方向。