墨坊源码解读 · 01 | 它不是演示店面:先收下订单,再让库存和余额各自失败
墨坊是一份可读的 Java 小店:网关只暴露 8080,商品库、库存、店铺各用各的库。下单先 202 收下,库存经 RabbitMQ 后扣;余额不够再发消息把库存加回去。本文钉死产品论点和分层,配架构图。仓库 https://github.com/GitHub1002/ink-workshop。
墨坊是一份可读的 Java 小店:网关只暴露 8080,商品库、库存、店铺各用各的库。下单先 202 收下,库存经 RabbitMQ 后扣;余额不够再发消息把库存加回去。本文钉死产品论点和分层,配架构图。仓库 https://github.com/GitHub1002/ink-workshop。
下单接口先写 PENDING 和发件箱,返回 202。两份店铺用 SKIP LOCKED 抢同一行再投递 RabbitMQ。库存结果把订单推进 RESERVED 或 REJECTED;付款只接受 RESERVED,余额不够则 RELEASING。配状态机图。