Skip to content

⭐⭐⭐SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统

License

Notifications You must be signed in to change notification settings

parkt90/dis-seckill-test

Repository files navigation

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

介绍

本项目为另一个项目dis-seckill的压力测试版本,重点工作为优化秒杀接口性能,提高单机系统并发瓶颈。

完整项目dis-seckill扩展包括

  • 项目基础技术点和流程图介绍
  • 接口安全优化
  • 系统限流与降级服务
  • Nginx水平扩展网关模块与限流配置
  • 参考视频资料和项目推荐

快速启动

在运行秒杀系统之前,需要安装好上述构建工具和开发环境,并开启相应组件后。

第一步;执行dis-seckill-common/schema/seckill.sql文件,初始化数据库。

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

git clone https://github.com/parkt90/dis-seckill-test.git
mvn clean package

启动缓存服务:

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

启动用户服务:

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

启动订单服务:

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

启动商品服务:

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

启动消息队列服务:

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

启动网关服务:

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

注:启动服务时最好按上面的顺序启动。

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

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

http://localhost:8082/user/index

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

TODO

  • 接口压测;
  • 秒杀接口性能优化,提高单机秒杀接口QPS;

压测结果

  1. 测试环境:

    • Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz 2.11 GHz
    • 内存:16.0 GB(2667MHz)
    • 环境:windows10
    • jar 运行
    • 线程数:5000*1
  2. 优化前:1087Qps

    秒杀压测

  3. 优化后:1186Qps

    秒杀测试

Q&A

About

⭐⭐⭐SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published