技术干货

分布式高并发商品秒杀系统设计

2019-06-07  本文已影响3人  安公子_

分布式高并发商品秒杀系统设计

项目地址:https://github.com/Grootzz/dis-seckill

介绍

本项目为另一个项目seckill的分布式改进版本,dis-seckill意为:distributed seckill,即分布式秒杀系统。

商品秒杀与其他业务最大的区别在于:

除了具有以上特点,秒杀商品还需要完成正常的电子商务逻辑,即:(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货。

本项目正是基于上述业务特点进行设计的,在项目中引入诸多优化手段,使系统可以从容应对秒杀场景下的业务处理。

另外,项目seckill为单体应用,在大并发情形下处理能力有限,所以本项目对其进行分布式改造,对职责进行划分,降低单体应用的业务耦合性。

快速启动

在安装之前,需要安装好上述构建工具和开发环境,推荐在linux下安装上述开发环境。

第一步;完成数据库的初始化,使用./dis-seckill-common/schema/seckill.sql初始化数据库。

第二步;如果安装了git,则可以采用下面的方式快速启动;

git clone git@github.com:Grootzz/dis-seckill.git
mvn clean package

启动用户服务:

jar dis-seckill-user/target/dis-seckill-user-0.0.1-SNAPSHOT.jar

启动商品服务:

jar dis-seckill-goods/target/dis-seckill-goods-0.0.1-SNAPSHOT.jar

启动订单服务:

jar dis-seckill-order/target/dis-seckill-order-0.0.1-SNAPSHOT.jar

启动缓存服务:

jar dis-seckill-cache/target/dis-seckill-cache-0.0.1-SNAPSHOT.jar

启动消息队列服务:

jar dis-seckill-mq/target/dis-seckill-mq-0.0.1-SNAPSHOT.jar

启动网关服务:

jar dis-seckill-gateway/target/dis-seckill-gateway-0.0.1-SNAPSHOT.jar

如果将项目导入IDE中进行构建,则分别按上面的顺序启动服务即可。

第三步;访问项目入口地址

http://localhost:8082/user/index

初始用户手机号码:18342390420,密码:000000

系统架构

系统架构.png

模块介绍

TODO

参考

上一篇 下一篇

猜你喜欢

热点阅读