secondkill是基于微服务技术开发的一套前后端分离秒杀系统,主要目的是为了学习秒杀业务和微服务项目。
技术 | 版本 |
---|---|
Spring Boot | 2.1.3.RELEASE |
Spring Cloud | Greenwich.SR5 |
Spring Cloud Alibaba | 2.1.3.RELEASE |
Mybatis | 3.5.6 |
OpenFeign | 2.1.5.RELEASE |
Nacos | 1.4.2 |
Redis | 3.2.100 |
RabbitMQ | 3.8.4 |
Jedis | 3.1.0 |
Zuul | 2.1.5.RELEASE |
Druid | 1.1.9 |
MySQL | 8.0 |
模块名 | 说明(端口) |
---|---|
├── secondkill-auth | 鉴权服务模块(8002) |
├── secondkill-common | 公共模块 |
├── secondkill-rabbitmq | rabbitmq配置模块 |
├── secondkill-register | 注册中心模块(8848) |
├── secondkill-service | 微服务集合模块 |
│ ├── secondkill-goods | 商品服务子模块(8021) |
│ ├── secondkill-order | 订单服务子模块(8010) |
│ └── secondkill-user | 用户服务子模块(8001) |
├── secondkill-service-api | 微服务api集合模块 |
│ ├── secondkill-goods-api | 商品服务api模块 |
│ ├── secondkill-order-api | 订单服务api模块 |
│ └── secondkill-user-api | 用户服务api模块 |
└── secondkill-zuul | 网关服务模块(8000) |
需要往hosts中添加以下域名,本地运行需要有rabbitmq和redis环境,需要跑5个微服务,1个注册中心和其他中间件,建议不低于16g内存。
注意:需要配置公共模块中oss.properties中的oss信息,才能进行商品图片的上传
127.0.0.1 secondkill-register
127.0.0.1 secondkill-mysql
127.0.0.1 secondkill-redis
127.0.0.1 secondkill-rabbitmq
127.0.0.1 secondkill-auth
127.0.0.1 secondkill-zuul
127.0.0.1 secondkill-goods
127.0.0.1 secondkill-order
127.0.0.1 secondkill-user
## 秒杀前端
# 克隆项目
git clone https://github.com/ChoyRunYu/secondkill-admin.git
# 进入目录、安装依赖、构建
cd secondkill-admin && npm install && npm run build:docker
# 运行docker-compose
cd docker && docker-compose up -d
## 后台管理
# 克隆项目
git clone https://github.com/ChoyRunYu/secondkill-vue.git
# 进入目录、安装依赖、构建
cd secondkill-vue && npm install && npm run build:docker
# 运行docker-compose
cd docker && docker-compose up -d
## 微服务
# 克隆项目
git clone https://github.com/ChoyRunYu/secondkill.git
# 进入目录
cd secondkill
# mvn打包
mvn clean package
# docker-compose运行
docker-compose -f docker-compose.yml up -d