双十一光棍节调试一个商城必备功能,Java Springboot开源秒杀系统

发表于:2019-11-12 09:41

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:aftere    来源:开源中国

#
java
#
Java
  开篇
  秒杀系统在电商系统中是非常重要的,不是因为秒杀这个功能重要,而是因为秒杀提现的是一个系统的并发负载能力。例如阿里巴巴或者京东,每年的双十一的峰值,其实就是下一年的常态,双十一各项技术指标,已经作为这些电商公司的年度技术指标指引。
  如果你的系统,秒杀都能承受的了,一般,在应对高峰流量的时候就不会出太大问题。今天就来调试一个开源的秒杀项目。本文继续实战调试。如果有需要开源链接的同学,请移步至文章末尾。本文一如既往调试实战。源码好找,调试不易。如果觉得有用就转发收藏吧。
  下面就开始调试此系统,当然此系统是java 的spring boot项目。其他语言的同学,可以参考一下其思想,java的同学建议转发收藏,因为本篇不只是源码这么简单。
  该开源秒杀系统项目架构
  由于此系统为开源系统,我这里就直接上作者的架构图了,尊重开源作者。高清大图,请到电商上或者作者主页查看。简单的说,此架构图中包含,高防IP层,SLB服务器负载均衡层,nginx应用负载层,以及各个运行容器,服务器,数据库等。
  
  项目业务场景
  大家体验过秒杀,生活互联网世界外的人除外。在我们购物秒杀的时候,服务器会面临瞬间高并发。电脑旁边的小哥哥、小姐姐们如超市哄抢的大妈一般,疯狂的点着鼠标。请问你是不是?而此时其实货物库存少、便宜、稀缺限量,值得大家去抢购,如苹果肾,小米粉,锤子粉(理解万岁),以及现在的华为粉。
  而此时的用户规模可大可小,几百或者上千人的活动单体架构足以可以应付,简单的加锁、进程内队列就可以轻松搞定。一旦上升到百万、千万级别的规模就要考虑分布式集群来应对瞬时高并发。
  这就是为什么要有秒杀这样的系统,来应付这样的场景。当然也是最考验IT电商公司的技术。其实秒杀里面的技术,几乎可以应用到任何与电子商务相关下单的场景下。
  核心调试部分
  1、第一步,从开源地址,把秒杀项目git clone下来,如下我这里使用的是IDEA。如果网络速度快,几秒就搞定了。网络速度慢就等一下吧。
  
  2、导入之后的样子是这个样子的。当然此项目是基于Java 的 spring boot 的。
  
  3、启动秒杀依赖环境。zookeeper,redis,kafka等。如下图,当然我调试的是windows环境,其他环境也是如此,这里就不多说了,按我说的启动环境就对了。
  
  4、修改项目中的配置。
  如果你是本机的都改成 127.0.0.1 。如果条件允许,你是多台机器,请把配置 application.properties 中相关redis、zk以及kafka相关服务器IP地址。
  
  5、导入sql,当然此项目中有sql的,简单的两个表,去源码里找即可。
  
  导入后大
  6、启动项目,然后访问本机的 localhost:8080,后面可以加 /seckill/swagger-ui.html 查看秒杀系统里的接口。
  
  7、当然你自己可以用jmetter 压测,也可以用postman工具测试。这里就不多说了,感兴趣的自己去探索吧,另外开源地址上也有很多说明。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号