# miaosha秒杀商城 2代 (Spring Cloud 版本)
### 项目名称:秒杀商城----SpringCloud-miaosha
由于面临毕业,且时间有限,准备把这个过去的项目使用微服务技术重构一下交上去。截至到2019年9月,会完成全部的更新。
附:老版本请看`git`的`master`的0.91版本
**重要说明**:
现在的项目,启动不起来的,1是因为我没有上传sql文件,文档里面的sql文件是master分支的;2是本人也是边学边用技术,会有很多不成熟的地方,请见谅;3是文档的确再写,但是最近事情比较多所以打算一下子把所有文档都上传完毕。
因为是**毕业设计作品**,毕业前一定会写完的,而本人面临毕业,也想苟活一次(出国转一转),各位稍安勿躁,也不必期待过高~
### 项目技术:
#### 后端技术选型为:
Java 11、SpringBoot 2.1.3 与 Spring Cloud Greenwich 技术栈、swagger、Elasticsearch、MyBatis plus 、Druid 、Redis、Log4j、Thymeleaf 、RabbitMQ、kaptcha等。
#### 前端技术选型为:
本人能力有限,暂时摒弃一代miaosha商城前端框架。新的前端还在学习思考ing。不更新。
#### Spring 家族技术选型
Spring Security OAuth2、Spring Cache、Spring Cloud Config、Spring Cloud Gateway、Spring under OpenFeign、Hystrix、Spring Event、Spring IO Platform、Actuator、Configuration-processor、spring-boot-admin
### 开发工具:
IntelliJ IDEA x64、MySQL 5.7、Kubernetes、Docker、Linux、Lombok、Maven、dev-tools、Admin-UI、Git、Navicat、JMetert、Jvisualvm、Postman、curator、elastic-job-lite、Consul
### 项目描述:
随着网络商城在全球范围内的广泛应用,人们对于互联网技术的要求已不单单是浏览一下网页,日益忙碌的人们已经习惯的利用网络商城这一强大的平台实现的网上购物。可随着网络商城的用户量不断增多,网络商家的营销活动不断增多,许许多多的传统网络商城会出现一系列的性能问题。
双十一的秒杀活动家喻户晓,天猫、京东、苏宁等等电商网站经常会在凌晨零点出现服务中断现象。例如在某一个时刻抢购一个原价1999现在秒杀价只要999的手机时,会迎来一个用户请求的高峰期,可能会有几十万几百万的并发量,来抢这个手机,在高并发的情形下会对数据库服务器或者是文件服务器应用服务器造成巨大的压力,严重时说不定就宕机了。
第二个问题是,秒杀的东西都是有量的,一款手机只有10台的货物量,那么,在高并发的情况下,成千上万条数据更新数据库,那次这个时候的先后顺序是很乱的,很容易出现10台的量,抢到的人就不止10个这种严重的问题。
第三个问题是,传统的购物商。应用往往使用集群方式管理,即一个虚拟化节点上往往会部署负责多种业务的模块。在高流量的压力下往往会导致多个节点不可用,这时只能通过传统的“加机器”方式来缓解压力。这在已经步入2019年的今天是极其不可取的。
本课题的目标是设计一个“**秒杀商城**”云服务平台,解决这些严重的系统性能问题、数据一致性问题、架构问题。
平台使用微服务架构搭建,主要集成两种系统,第一种系统实现以下功能:用户登录、用户管理、权限管理;第二个系统实现以下功能:商品列表、商品详情、商品秒杀、订单详情、第三方支付。同时平台会有公共的网关负责管理权限,会有服务代理进行负载均衡策略分发流量。
### 项目特点:
1. **基于SpringBoot**,简化了大量项目配置和maven依赖,让您更专注于业务开发,独特的分包方式,代码多而不乱。
2. **Java 11 支持**:使用原生Java 11,并大量实践`stream`、`webflux `、`lambda`、三元运算符,测试数据集在多核机器的速度上有巨大提升。
3. **细粒度缓存**。利用`JSR107`规范,`redis`对经常调用的查询、页面、实例进行缓存,保证运行速度。
4. **注解验证**。使用`JSR304`规范和`AOP`编辑代码,使得验证逻辑从业务代码中脱离出来。
5. **异步下单**。多种分布式消息队列以及百万级并发框架`Disruptor`参与下单进程,高效且可靠。
6. **强力监控**。多种监控工具的加入使得你可以全方位的统计观测数据。
7. **日志系统**。基于`spring event`异步处理日志。
8. **容器化**。Docker、rancher的支持。
- 未来目标:争取早日建成一个高并发 、高可用 、高性能的秒杀系统平台
### 项目架构图
//TODO
### 分包结构
```
├─ SpringCloud-miaosha
│ │
│ ├─ doc---------------- 项目文档
│ │
│ ├─ logs---------------- 日志存放目录
│ │
│ ├─ miaosha-auth---------------- 鉴权中心
│ │
│ ├─ miaosha-common---------------- 基本依赖
│ │ ├─ miaosha-common-base---------------- 基础封装模块模块
│ │ ├─ miaosha-common-bom---------------- 公共版本控制模块
│ │ ├─ miaosha-common-core---------------- 公共工具类核心包模块
│ │ ├─ miaosha-common-data---------------- 数据与持久化模块
│ │ ├─ miaosha-common-log---------------- 日志处理模块
│ │ ├─ miaosha-common-mq---------------- 消息队列模块
│ │ ├─ miaosha-common-security---------------- 安全模块
│ │
│ ├─ miaosha-config----------------- 配置中心
│ │
│ ├─ miaosha-gateway-------------- 商城网关
│ │
│ ├─ miaosha-discovery-------------- 服务发现功能
│ │
│ ├─ miaosha-mall-------------- 商城
│ │ ├─ miaosha-mall-ads---------------- 广告模块
│ │ ├─ miaosha-mall-goods---------------- 商品模块
│ │ │ ├─ miaosha-mall-goods-api---------------- 商品模块的接口端
│ │ │ ├─ miaosha-mall-goods-biz---------------- 商品模块的服务端
│ │ ├─ miaosha-mall-order---------------- 订单模块
│ │ │ ├─ miaosha-mall-order-api---------------- 商品模块的接口端
│ │ │ ├─ miaosha-mall-order-biz---------------- 商品模块的服务端
│ │ ├─ miaosha-mall-pay---------------- 支付模块
│ │ ├─ miaosha-mall-search---------------- 搜索模块
│ │ ├─ miaosha-mall-seckill---------------- 秒杀模块
│ │ │ ├─ miaosha-mall-seckill-api---------------- 商品模块的接口端
│ │ │ ├─ miaosha-mall-seckill-biz---------------- 商品模块的服务端
│ │
│ ├─ miaosha-plugins-------------- 插件
│ │ ├─ miaosha-plugins-monitor---------------- 秒杀平台的监控组件
│ │ ├─ miaosha-plugins-sidecar---------------- 秒杀平台的sidecar
│ │ ├─ miaosha-plugins-zipkin---------------- 秒杀平台的zipkin监控组件
│ │
│ ├─ miaosha-sys-------------- 账户后台控制系统
│ │ ├─ miaosha-sys-api---------------- 账户后台控制系统的接口端
│ │ ├─ miaosha-sys-biz---------------- 账户后台控制系统的服务端
│ │
│ ├─ script-------------- 脚本语言
│ │
```
### 秒杀设计
### 怎么使用:
#### 启动顺序
请在系统的host文件中,加上以下几条
```text
127.0.0.1 miaosha-mysql
127.0.0.1 miaosha-redis
127.0.0.1 miaosha-rabbitmq
127.0.0.1 miaosha-zipkin
127.0.0.1 miaosha-config
127.0.0.1 miaosha-gateway
127.0.0.1 miaosha-auth
127.0.0.1 miaosha-sys
127.0.0.1 miaosha-mall-goods
127.0.0.1 miaosha-mall-orders
127.0.0.1 miaosha-mall-seckill
```
然后请务必严格按照以下顺序启动程序
1. 请看代码中doc目录下的consul文件夹,启动consul
2. 启动miaosha-config
3. 启动miaosha-gateway
4. 启动miaosha-auth
5. �
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
一个基于spring cloud Greenwich的简单秒杀电子商城项目,适合新人阅读。 一个基于spring cloud Greenwich的简单秒杀电子商城项目,适合新人阅读。 一个基于spring cloud Greenwich的简单秒杀电子商城项目,适合新人阅读。 一个基于spring cloud Greenwich的简单秒杀电子商城项目,适合新人阅读。 一个基于spring cloud Greenwich的简单秒杀电子商城项目,适合新人阅读。 一个基于spring cloud Greenwich的简单秒杀电子商城项目,适合新人阅读。 一个基于spring cloud Greenwich的简单秒杀电子商城项目,适合新人阅读。 一个基于spring cloud Greenwich的简单秒杀电子商城项目,适合新人阅读。 一个基于spring cloud Greenwich的简单秒杀电子商城项目,适合新人阅读。 一个基于spring cloud Greenwich的简单秒杀电子商城项目,适合新人阅读。 一个基于spring cloud Greenwich的简单秒
资源推荐
资源详情
资源评论





















收起资源包目录





































































































共 752 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论


「已注销」
- 粉丝: 659
- 资源: 3661
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
