阿飞商城:一个微服务电商后端的完整记录
9 个模块、60 个接口、6550 行 Java。这篇不贴代码,讲的是每个设计背后的「为什么」——防超卖为什么要两层、幂等键为什么失败要删、超时关单为什么三层兜底,以及这个项目还差什么。
9 个模块、60 个接口、6550 行 Java。这篇不贴代码,讲的是每个设计背后的「为什么」——防超卖为什么要两层、幂等键为什么失败要删、超时关单为什么三层兜底,以及这个项目还差什么。
登出功能上线后一切正常,直到有一次「登出后立刻重新登录」被拒——40101,Token 已失效。根因是 JWT 的 iat/exp 只精确到秒,同一秒签发的 Token 完全相同。
下单这一个接口里塞了四个问题:跨服务事务怎么保证、重复提交怎么拦、金额信不信前端、商品信息会不会变。本文逐个拆开讲我的做法和取舍。
下单 30 分钟未支付要自动关单并回补库存。消息会丢、定时任务不够准、跨服务调用也会失败——我用三层互相兜底,最后用幂等收口保证不会重复处理。
100 件库存涌入 1000 个请求。我用 Redisson 锁把并发串行化,再用一条带条件的 UPDATE 守住数据不变量——两层各管一件事,缺一不可。
从 0 搭建的 Spring Cloud Alibaba 微服务电商后端:7 个服务独立部署、各自持库,跨服务只走 HTTP 调用,重点解决了防超卖、订单超时关闭与分布式事务三个问题。
基于 RAG 架构的智能知识库问答系统:文档切块向量化后入库,用大模型做带检索的生成,把「回答 grounded 在资料上」。