posts

文章归档

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

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

全部文章

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

《Java 消息中间件·可靠消息与消费治理》7.3 事件溯源入门

只存当前状态,你能回答「现在是什么」,回答不了「为什么变成这样」。事件溯源把状态变更本身作为唯一事实来源,状态由重放推导。本篇用纯 JDK 实现最小事件存储,追加 8 个库存事件后从 0 重放得到 stock=9、reserved=12,再用 version=4 的快照加 4 条增量重放,两条路径结果逐字段相等;并实测乐观并发与重复 eventId 两种拒绝。

7 分钟阅读
书稿 Java Kafka
books

《Java 消息中间件·可靠消息与消费治理》7.2 CDC:增量快照与变更捕获

日志挖掘读数据库的变更日志,查询轮询读一张带水位列的表,两者在 op 语义、删除可见性和业务侵入上完全不同。本篇手写轮询版 CDC 实测 c/u/d 三种变更,用同一毫秒的两行证明单列时间水位会漏数据,再用快照前取水位与快照后取水位两种顺序,说明衔接为什么只有前者能得到一致状态;Debezium 仅做架构对照并标注未在本机执行。

10 分钟阅读
书稿 Java Kafka
books

《Java 消息中间件·可靠消息与消费治理》7.1 Outbox 模式

先写库再发消息,会在进程崩溃时留下「有业务行、无事件」的孤儿数据。本篇用同库同事务的 outbox 表消除这个窗口,给出轮询发布器的完整实现,并在本机用嵌入式数据库真实 kill -9:写入 5 笔后崩溃、发送 3 条未标记就崩溃,重启补发后业务行 5、outbox 行 5、Kafka 8 条记录 5 个事件 ID,逐条对上。

8 分钟阅读
书稿 Java Kafka
books

《互联网产品的服务端架构·交易、增长与平台化》附录 C 合规与风控检查清单

把卷三涉及交易、营销、增长与开放平台的合规与风控要求整理成可勾选的清单:主体资质、价格与促销、支付与发票、隐私与数据、未成年人保护、消费者权益、交易监测、风控维度、处置动作、申诉与审计,并给出上线前、活动中、事后复盘三阶段的检查项与常见失败案例。

9 分钟阅读
书稿 合规 风控
books

《Java 消息中间件·可靠消息与消费治理》4.3 扩缩容与优雅停机

扩容一个消费者会触发整组再平衡,停机的姿势决定了消息是重复、丢失还是要等会话超时。本篇给出一份完整可运行的优雅停止代码,用 1200 条消息实测 SIGTERM 后零重复零丢失;再让一个消费者停 poll 25 秒,贴出 max.poll.interval.ms 踢出的原始 WARN 日志,并数清 1212 次投递里的重复。

8 分钟阅读
书稿 Java Kafka
books

《Java 消息中间件·可靠消息与消费治理》4.2 分配策略与消费者倾斜

7 个分区、2 到 3 个消费者,range、round-robin、sticky、cooperative-sticky 四种策略各跑一遍:谁撤销了全部分区,谁只撤销搬走的那几个,谁多花一轮协议,谁把 8 个分区分成 4-2-2。本篇把分配结果、迁移分区数、再平衡耗时与倾斜成因放进同一组实测数据,并给出观测与选型方法。

9 分钟阅读
书稿 Java Kafka
books

《Java 消息中间件·可靠消息与消费治理》4.1 消费组设计:按业务还是按分区

消费组不是一个进程列表,而是一份职责加一套位移。本篇用 600 条消息、两个快慢不同的消费者和三个订阅同一主题的组,量出「同组能力必须一致」与「多组订阅的复制成本」,再给出按业务域、按处理职责、按分区手工分配三种方案的对照,以及组 ID 命名、空组回收与选择清单。

9 分钟阅读
书稿 Java Kafka
books

《互联网产品的服务端架构·交易、增长与平台化》附录 B 实验与指标口径

把卷三反复出现的指标与实验口径集中成一份可查的表:流量、转化、留存、交易、退款、履约、增长与实验各自的分子分母、时间窗口、去重规则与常见误读,再给出样本量估算公式、显著性判读顺序、多重比较校正、归因口径、指标字典模板、报表一致性、实验复盘记录与口径变更流程。

9 分钟阅读
书稿 增长 实验