# gulimall **Repository Path**: gffgg/gulimall ## Basic Information - **Project Name**: gulimall - **Description**: 跟着尚桂谷的谷粒商城敲的代码,集成了springboot、springcloud、springcloudalibaba、elasticsearch、docker、rabbitmq、nginx、mysql、redis等一系列框架 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-13 - **Last Updated**: 2022-08-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gulimall #### 介绍 - 跟着尚桂谷的谷粒商城敲的代码,集成了springboot、springcloud、springcloudalibaba、elasticsearch、docker、rabbitmq、nginx、mysql、redis等一系列框架,利用人人开源的代码生成器,实现了商城的后台管理系统。前台项目中,基本实现了商品分类功能、商品的各种复杂的查询、商品列表页详情页的展示、商品加入购物车、商品结算付款,利用第三方实现单点登录、商品的秒杀以及商品的订单查询等功能,基本上模仿的京东商城操作的一些流程 - 从此项目中,可以学到: 1. jsr303校验,阿里云oss使用 2. 阿里云短信服务使用 3. es条件检索和聚合查询 4. redis缓存商品列表以及缓存未登录购物车数据和秒杀系统暂存数据提高性能 5. spring session来解决分布式项目中用户的session共享问题(通过包装者模式,将传统的response和request包装,让他们的redis中读取session信息) 6. 使用rabbitmq来实现订单支付数据库最终一致性操作,将消息放入延时队列中,通过接口幂等性(也就是唯一标识),来判断订单是否成功支付,其他服务监听延时队列释放的消息,来解绑锁定库存 7. 还有redisson来实现分布式锁的问题,本地锁用juc,分布式用juc的扩展redisson 8. 异步编排completablefuture以及线程池来提升业务处理速率,等等.... 9. 最主要的是,学习一些复杂业务逻辑的思路、以及一些第三方库的使用