26
2026·09
技术笔记
订单快照设计:一个字段救了未来的自己
下单时价格 99 元,一周后商品涨价到 129,历史订单应该显示什么?这个看似简单的问题,决定了订单表要不要存商品快照。
Java / MySQL
阅读 0
这个分类下的全部文章,按时间倒序。
共 5 篇
下单时价格 99 元,一周后商品涨价到 129,历史订单应该显示什么?这个看似简单的问题,决定了订单表要不要存商品快照。
下单 30 分钟未支付要自动关单并回补库存。消息会丢、定时任务不够准、跨服务调用也会失败——我用三层互相兜底,最后用幂等收口保证不会重复处理。
下单这一个接口里塞了四个问题:跨服务事务怎么保证、重复提交怎么拦、金额信不信前端、商品信息会不会变。本文逐个拆开讲我的做法和取舍。
登出功能上线后一切正常,直到有一次「登出后立刻重新登录」被拒——40101,Token 已失效。根因是 JWT 的 iat/exp 只精确到秒,同一秒签发的 Token 完全相同。
100 件库存涌入 1000 个请求。我用 Redisson 锁把并发串行化,再用一条带条件的 UPDATE 守住数据不变量——两层各管一件事,缺一不可。