代码拉取完成,页面将自动刷新
基于springBoot、Vue、Redis、rabbitMQ建立的电商秒杀系统
功能模块:登录功能、商品模块、订单模块、抢购模块
请求拦截:请求处理总共有三层拦截,第一层使用自定义参数解析器解析用户Cookie是否有对应的session,没有则拦截请求返回提示,第二层使用内存标记核验库存是否有剩余,没有则拦截请求返回提示,第三层使用redis缓存预减库存,成功则加入消息队列异步处理,不成功则拦截请求返回提示。
异步处理:后端抢购流程采用rabbitMQ消息队列发布订阅模式进行异步处理,请求无需阻塞等待业务处理,消息入队后直接返回,接收者从队列中取出消息进行处理,处理失败重新放入队列中排队,前端轮询处理结果。
缓存优化:将前端频繁获取的对象信息放入缓存中,前端请求时优先从缓存读取数据,减少数据库访问,加快响应速度;系统初始化时将活动商品库存信息放入缓存中,用于请求拦截时预减库存。
数据一致性处理:对数据进行更新操作时,先更新数据库的数据,再清除缓存对应数据,在业务进行时重新读入缓存,避免缓存清除后业务再次将脏数据读入缓存的潜在危险;
解决超卖问题:对数据库进行的所有更新操作都进行事务处理,尤其对秒杀商品库存加锁,使其扣减库存失败后进行事务回滚,解决超卖问题。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。