Hello, I am
king-of-water.

从代码出发,理解系统与行业。

king-of-water 的头像关于我

为什么中国难有 Muse:超级 App 不愿交出行动权

Muse 想成为替用户完成所有事情的 Personal Agent。中国缺少同类产品的主要障碍,是大 App 都想建设自己的 Agent,不愿向一个外部总入口开放数据、交易与执行权限。

MusePersonal Agent超级 App平台生态中美互联网

RocketMQ 事务消息:半消息与回查怎样保证一致性

拆解 RocketMQ 事务消息的「半消息 + 二次确认 + 状态回查」机制,说明它如何解决本地事务与消息发送的双写窗口,覆盖 COMMIT/ROLLBACK/UNKNOW 三态、回查的兜底与失败模式,以及与本地消息表(Outbox)的取舍。

RocketMQ事务消息半消息回查本地事务Outbox一致性消息队列

缓存为什么会命中:从局部性、LRU/LFU 到 Caffeine

从重用距离和访问序列理解缓存命中,复现 LRU 的扫描污染与 LFU 的热点滞后,再拆解 Caffeine 的 W-TinyLFU、频率草图、并发维护和业务接入边界。

数据结构缓存局部性LRULFUCaffeineTinyLFUW-TinyLFUJava

从 ZSet 到 InnoDB:跳表、B+ 树与红黑树的工程取舍

用一个排行榜串起 Redis ZSet、InnoDB 索引和 Java HashMap,比较排序、排名、页访问、哈希冲突与更新成本,解释为什么相似的复杂度会走向不同实现。

数据结构存储RedisZSet跳表MySQLInnoDBB+树HashMap红黑树

RocketMQ、Kafka、RabbitMQ 怎么选

从三者的本质定位出发——RabbitMQ 是消息代理、Kafka 是分布式日志、RocketMQ 是业务消息平台——沿着消息模型、吞吐量级、业务语义(顺序/事务/延迟/回溯)、堆积可靠性和生态运维五个维度对比,给出一套可复用的四步选型决策。

消息队列RocketMQKafkaRabbitMQ选型对比事务消息延迟消息消息回溯吞吐