# springcloud-alibaba-mall **Repository Path**: easontyler/springcloud-alibaba-mall ## Basic Information - **Project Name**: springcloud-alibaba-mall - **Description**: 学习的用springcloud-alibaba搭建的商城系统 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2021-04-13 - **Last Updated**: 2021-04-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SpringCloud-Alibaba-Mall 请关注项目更新及时拉取最新版本 ## 项目介绍 `springcloud-alibaba-mall`是一套微服务商城系统,采用了 Spring Boot 2、Spring-cloud-Alibaba、MyBatis、Docker、Elasticsearch等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。 ## 系统架构图 ![微服务架构](https://images.gitee.com/uploads/images/2020/0621/175648_5c7d97be_2087054.jpeg "tuling-mall商城微服务架构图.jpg") ## 组织结构 ``` SpringCloud-Alibaba-Mall 1.mall-admin: 商品后台管理服务。主要用于发布商品,推送首页banner,会员统计,管理订单等等。db+redis。 2.mall-authcenter:微服务认证中心。采用Spring-Security框架和OAuth2协议,采用jwt认证。 3.mall-gateway:微服务管理网关。在所有接口请求至网关时会去认证中心校验,拿私钥。并且与openFeign和sentinel整合,在网关这一层限流。 4.mall-order:订单中心。针对下单处理进行多种优化,提高并发能力。例如采用谷歌LRU算法进行jvm一级缓存,redis二级缓存,布隆过滤器防止缓存穿透,同时采用redssion分布式锁防止缓存击穿等等。并发量大也可根据业务进行异步下单。 5.mall-product: 商品中心。与order一起采用seata进行分布式事务管理。 6.mall-pay: 支付中心。集成支付宝当面付。 7.mall-search: 采用elasticsearch用于商品搜索。 8.mall-api:公共jar包,所有使用openFeign的引入。 9.日志系统:采用elasticsearch+logstash+kibana+kafka 10.自动化监控:采用 Prometheus+Grafana 11.链路追踪:采用pinpoint ``` ## 技术选型 ### 后端技术 | 技术 | 说明 | 官网 | | -------------------- | ------------------- | ------------------------------------------------------------ | | Spring Boot | 容器+MVC框架 | [https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot) | | Spring Security | 认证和授权框架 | [https://spring.io/projects/spring-security](https://spring.io/projects/spring-security) | | MyBatis | ORM框架 | [http://www.mybatis.org/mybatis-3/zh/index.html](http://www.mybatis.org/mybatis-3/zh/index.html) | | MyBatisGenerator | 数据层代码生成 | [http://www.mybatis.org/generator/index.html](http://www.mybatis.org/generator/index.html) | | PageHelper | MyBatis物理分页插件 | [http://git.oschina.net/free/Mybatis_PageHelper](http://git.oschina.net/free/Mybatis_PageHelper) | | Swagger-UI | 文档生产工具 | [https://github.com/swagger-api/swagger-ui](https://github.com/swagger-api/swagger-ui) | | Elasticsearch | 搜索引擎 | [https://github.com/elastic/elasticsearch](https://github.com/elastic/elasticsearch) | | RabbitMq | 消息队列 | [https://www.rabbitmq.com/](https://www.rabbitmq.com/) | | Redis | 分布式缓存 | [https://redis.io/](https://redis.io/) | | MongoDb | NoSql数据库 | [https://www.mongodb.com/](https://www.mongodb.com/) | | Docker | 应用容器引擎 | [https://www.docker.com/](https://www.docker.com/) | | Druid | 数据库连接池 | [https://github.com/alibaba/druid](https://github.com/alibaba/druid) | | OSS | 对象存储 | [https://github.com/aliyun/aliyun-oss-java-sdk](https://github.com/aliyun/aliyun-oss-java-sdk) | | JWT | JWT登录支持 | [https://github.com/jwtk/jjwt](https://github.com/jwtk/jjwt) | | LogStash | 日志收集 | [https://github.com/logstash/logstash-logback-encoder](https://github.com/logstash/logstash-logback-encoder) | | Lombok | 简化对象封装工具 | [https://github.com/rzwitserloot/lombok](https://github.com/rzwitserloot/lombok) | | Seata | 全局事务管理框架 | [https://github.com/seata/seata](https://github.com/seata/seata) | | Portainer | 可视化Docker容器管理| [https://github.com/portainer/portainer](https://github.com/portainer/portainer) | ### 前端技术 | 技术 | 说明 | 官网 | | ---------- | --------------------- | ------------------------------------------------------------ | | Vue | 前端框架 | [https://vuejs.org/](https://vuejs.org/) | | Vue-router | 路由框架 | [https://router.vuejs.org/](https://router.vuejs.org/) | | Vuex | 全局状态管理框架 | [https://vuex.vuejs.org/](https://vuex.vuejs.org/) | | Element | 前端UI框架 | [https://element.eleme.io/](https://element.eleme.io/) | | Axios | 前端HTTP框架 | [https://github.com/axios/axios](https://github.com/axios/axios) | | v-charts | 基于Echarts的图表框架 | [https://v-charts.js.org/](https://v-charts.js.org/) | ## 环境搭建 ### 开发环境 工具 | 版本号 | 下载 ----|----|---- JDK | 1.8 | https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Mysql | 5.7 | https://www.mysql.com/ Redis | 3.2 | https://redis.io/download Elasticsearch | 6.2.2 | https://www.elastic.co/downloads MongoDb | 3.2 | https://www.mongodb.com/download-center RabbitMq | 3.7.14 | http://www.rabbitmq.com/download.html nginx | 1.10 | http://nginx.org/en/download.html ## 表业务说明 前缀: * cms_ 网站内容管理 * oms_ 订单管理 * pms_ 产品管理 * sms_ 营销管理(秒杀活动,优惠券,热门推荐,首页焦点推荐) * ums_ 系统用户管理(会员用户,管理员用户)