这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
组合的经济学:注意力、现金与边际成本
多产品的收入看起来是相加的,成本却不是。本篇把每个产品的固定成本拆成现金、时间和风险三类,给出每产品月度成本表的模板、共享成本的三种分摊口径,以及「五个一百美元不如一个五百美元」背后的算术。
posts
这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
多产品的收入看起来是相加的,成本却不是。本篇把每个产品的固定成本拆成现金、时间和风险三类,给出每产品月度成本表的模板、共享成本的三种分摊口径,以及「五个一百美元不如一个五百美元」背后的算术。
域名是最容易被忽略的租约:注册邮箱、自动续费、转移锁、DNS 托管任何一环失效,网站和邮箱会同时消失。本篇梳理域名生命周期、注册商选择、八项健康设置、域名资产表与一次可执行的转移演练。
本篇给出独立开发者的单点故障盘点方法:六层资产模型、RTO/RPO/MTTR 的个人版定义、30 分钟盘点流程、依赖集中度的五个信号与优先级矩阵,并附一份可直接填写的账号资产清单模板。
主产品月入稳定但增长停了,该不该再开一个?本篇给出五个「可以开」的信号(PMF 达标、渠道可复用、需求相邻、单产品风险高、时间有余量)与四个「先别开」的反信号,附一张判断表和 90 天最小试验的做法。
游客购物车与服务端购物车合并,是交易端最容易被低估的一次状态冲突。本节把同 SKU 的数量策略、下架与删除的处理、时间戳与多端并发写成可测试的纯函数,验证合并顺序、上限截断与本地未同步修改的保留,并复盘一次登录合并把失效商品带进结算的事故。
「回声」同时服务主站与两个合作方后,密钥、配额、重试与审计散落在业务代码里。本节给出模型网关的职责判据,区分必须收进来的公共策略与必须留在业务层的语义,并用可运行的阶段组合器把认证、配额、执行与收尾串成一条可观测链路,同时说明哪些逻辑一旦放进来就会形成新的耦合源。
日志告诉你发生了什么,指标告诉你发生得有多频繁。本节用 Micrometer 1.17.2 与 Prometheus registry 给 libraryd 接上计数器、计时器和仪表,讲清命名、tag 基数、SimpleMeterRegistry 测试写法,以及 /metrics 的真实抓取输出。
网关最常见的越界,是把业务规则写进转发层,结果一次活动改动就要发网关。本节划定连接终结、认证、路由、限流、协议转换和灰度标签的职责边界,比较粘性会话与无状态路由,用 rendezvous 哈希实现节点摘除后的最小重分配,并给出 drain 发布流程与故障兜底。
把卷二没有证明的跨节点假设整理成可交接的检查清单:六项假设逐条登记负责人、指标口径、验收方式和到期日,用 Go 校验器拦截缺字段、阻塞项无到期日、把 unknown 写成 measured 等自欺写法,并说明卷三将回答哪些问题、哪些证明仍待补齐。
《裂隙战场》《群岛纪元》《泡泡工坊》对延迟、推送与运维的要求完全不同。本节把短连接、长轮询、WebSocket 与 QUIC 放进同一张选型矩阵,给出硬约束筛选、加权打分、握手与重连预算,并说明团队只有两人或延迟要求宽松时,为什么不该自建长连接。
把数据库延迟、缓存整体失效、单实例丢失三个订单系统必测的 L2 故障做成进程内可重复回归:用内存适配器和逻辑时钟记录成功、降级、失败、超时、P99 与恢复判定,给出可审计的判定边界和重试代价,并说明哪些结论必须留给卷四的真实混沌与网络分区验证。
以《群岛纪元》离线收益与建筑完成为例,说明补算为什么必须有上限、按天重置并与在线结算对账;给出按小时产出、每日封顶且按时区分日的 Go Accrue 实现,覆盖正常补算、封顶、时钟回拨与跨天重置四类测试,并给出离线补算与在线结算的幂等对账流程。
库存展示的核心不是「有货/无货」两个状态,而是可售、锁定、预售、区域限制与数据降级五件事。本节把端上的库存判断写成纯函数,明确它只能决定「是否允许尝试」、不能承诺有货,说明取不到库存时如何安全降级,并复盘一次把区域不可售误显示成售罄的展示问题。
从《裂隙战场》一次 500ms 停顿后技能连放讲起,说明固定步长 tick 为什么不能直接跟着墙上时间跑;给出带 CatchUp 上限、丢弃计数、漂移余量和时钟回拨保护的 Go Loop 实现,覆盖正常推进、大延迟补帧、超限丢弃与回拨四类测试,并与第 1 章 33ms/16ms 的帧预算口径对齐。
把日订单量、峰值系数、单实例容量、目标利用率、故障域冗余和扩容阈值串成一份可审计的容量计划:用 Go 实现保守、基准、激进三种场景的规划器与表驱动测试,为每个输入标注实测、目标或示例等级,并给出 arch-lab 的扩容决策、成本边界与不可发布条件。
规格选择看起来只是几个按钮,实际是一组组合约束:哪些组合存在、哪些组合缺货、切换一个维度后哪些已选值必须失效。本节把规格目录、可选值、默认选中、价格库存联动与提交前校验写成可测试的纯函数,并复盘一次「切换颜色后仍带着旧尺码下单」的典型问题。
多模型并存不是架构失败,而是能力覆盖、质量分层、区域合规与供应关系共同作用的常态。以「回声」的三个模型与四个能力为例,说明能力覆盖矩阵、冗余度与单提供方风险如何计算,给出缺口分析的 TypeScript 实现与测试,并讨论组合治理节奏与降级路径。
从《群岛纪元》一次重启后世界倒退两小时讲起,分清内存态、持久态与快照各自的权威边界,说明快照为什么只是恢复加速器而不是备份;给出带 schema 版本号与 CRC32 校验和的 Go 编解码与恢复实现,覆盖正常恢复、版本不兼容、校验损坏与空快照,并用频率成本表说明多久快照一次才划算。
把基线、缓存、outbox、令牌桶和窄临界区收进同一个单文件程序,固定种子和 4,500 个请求,真实跑正常、下游延迟、下游错误三种场景:基线三种场景都超过 4,200 次超时,改造版正常 P99 14.637ms,延迟 P99 60.721ms,错误 89 次失败且零超时。
日志里能放什么、该留多久、量有多大,是三个独立问题。本节用 libraryd 的真实输出演示邮箱与令牌脱敏、CRLF 日志注入、按比例采样与 Logback TurboFilter,并算清不同请求量下的日志体积,最后给出一份可执行的级别与保留策略。