posts

文章归档

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

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

全部文章

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

《互联网产品的服务端架构·规模化与架构演进》2.1 单元化与用户路由

从一次机房级故障切入,说明单元化真正解决的是故障不扩散而不是单次请求更快;给出家单元优先、同名单元保守合并、按字典序降级的路由规则,分析一次只切一半流量的失败案例,并用可测试的 Go 实现与可回归用例把稳定、可解释的路由固定下来,同时给出无健康单元时的显式失败语义。

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

《Java 消息中间件·事件驱动架构》4.3 补偿与最终一致性

「最终一致」里的「最终」必须是一个可度量的分布,不是一句安慰。本文给出一致性窗口的度量代码:事件产生时打时间戳,下游写库提交后再打一个,按分位统计。本机两段负载实测显示窗口随积压线性增长,慢消费者下 p99 从 81ms 变成 4387ms。据此讨论补偿的触发条件、补偿失败的人工出口,以及一致性窗口该怎么承诺。

10 分钟阅读
书稿 Java Kafka
books

《Java 消息中间件·事件驱动架构》4.2 本地消息表与对账

卷二讲过 outbox 这个模式,这一节讲它落地要写哪几张表、中继怎么保证至少一次、对账为什么必须三方比对。用 H2 内存库真跑一遍:六个借阅、四类差异(有库无事件、有事件无库、写侧内容不一致、读侧内容不一致),输出差异报告,再演示读模型重建能修复哪一类、修不了哪一类。

8 分钟阅读
书稿 Java Kafka
books

《Java 消息中间件·事件驱动架构》4.1 分布式事务的三种落地

跨服务之后「事务」这个词只剩下一半含义。本文把 2PC、TCC、最终一致三种落地拆开:各自要求什么前提、把不确定性放在哪里、失败时留下什么残局,并用一张四维对照表(一致性强度、可用性、实现成本、失败模式)说明为什么大多数业务最终选了第三种,以及哪两类场景不该选它。

13 分钟阅读
书稿 Java Kafka