# gulimall **Repository Path**: dvj/gulimall ## Basic Information - **Project Name**: gulimall - **Description**: 尚硅谷-谷粒商城-学习项目,基于SpringBoot + SpringCloud Alibaba + MyBatis Plus等框架的分布式微服务商城系统;基于Docker环境部署、Nginx反向代理和动静分离,MySQL作为数据库,Redis作为缓存和分布式锁使用、ElasticSearch作为检索服务等。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-21 - **Last Updated**: 2021-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: 学习项目 ## README # gulimall #### 介绍 尚硅谷-谷粒商城-学习项目,基于SpringBoot + SpringCloud Alibaba + MyBatis Plus等框架的分布式微服务商城系统;基于Docker环境部署、Nginx反向代理和动静分离,MySQL作为数据库,Redis作为缓存和分布式锁使用、ElasticSearch作为检索服务等;实现功能:第三方登录、商品SPU/SKU管理、商品上架、商品搜索、购物车、订单服务、第三方支付、秒杀服务等。 #### 软件架构 参考架构图如下,基本完成除了CI/CD、K8s的架构搭建 ![谷粒商城架构](https://gitee.com/DvJ/typora-images/raw/master/images/谷粒商城架构.png) #### 项目结构 ``` gulimall // 管理依赖版本 ├── 公共模块 ├── gulimall-common // 微服务公共依赖、bean、工具类等 ├── renren-fast // 管理后台(人人开源的轻量级开发平台) ├── gulimall-boot-starter // 通用配置starter │ ├── 底层服务模块 ├── gulimall-gateway // 网关模块[88] ├── gulimall-auth-server // 认证中心[20000] ├── gulimall-third-party // 第三方模块[30000] │ ├── 业务模块 ├── wheelmall-coupon // 优惠模块[7000] ├── wheelmall-member // 会员模块[8000] ├── wheelmall-order // 订单模块[9000] ├── wheelmall-product // 商品模块[10000] ├── gulimall-ware // 库存模块[11000] ├── gulimall-search // 搜索模块[12000] ├── gulimall-seckill // 秒杀模块[25000] ├── gulimall-cart // 购物车模块[30010] │ ├── 前端模块 ├── renren-fast-vue // 管理后台前端(人人开源) │ ├── 其它 ├── docker // docker配置、部署等文件 ├── doc // 说明文档 │ └── docker // 基础服务的参考命令与配置 │ └── sql // 项目的sql │... ``` #### 项目框架 1. Spring Boot 2.1.8.RELEASE 2. Spring Cloud Greenwich.RELEASE 3. Spring Cloud Alibaba 2.1.0.RELEASE 4. MyBatis Plus 3.3.2 5. ... #### 技术点 1. Nginx负载均衡、Nginx动静分离 2. SpringCloud Gateway API网关 3. Redis缓存 4. Redisson分布式锁 5. ElasticSearch 全文检索 6. RabbitMQ消息队列 7. Sentinel熔断降级限流 8. 链路追踪sleuth+zipkin 9. ... #### 功能模块 1. 第三方登录 2. 商品SPU/SKU管理 3. 商品上架 4. 商品搜索 5. 购物车 6. 订单服务 7. 第三方支付 8. 秒杀服务 9. ... #### TODO - [ ] 对象存储服务新增Minio方式 - [ ] 本地配置改为从Nacos获取 - [ ] Nacos配置持久化到MySQL - [ ] 各微服务通过Docker File生成镜像 - [ ] 新增一键部署脚本 - [ ] 新增各基础服务Docker集群部署方案 - [ ] ... #### 项目遇到的问题及解决方法(TODO) 1. feign远程调用不带cookie 2. nginx转发不带host 3. 订单支付收单问题 4. 秒杀(高并发)业务需要解决的问题 5. ...