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

开篇

秒杀系统在电商系统中是非常重要的,不是因为秒杀这个功能重要,而是因为秒杀提现的是一个系统的并发负载能力。例如阿里巴巴或者京东,每年的双十一的峰值,其实就是下一年的常态,双十一各项技术指标,已经作为这些电商公司的年度技术指标指引。

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

如果你的系统,秒杀都能承受的了,一般,在应对高峰流量的时候就不会出太大问题。今天就来调试一个开源的秒杀项目。本文继续实战调试。如果有需要开源链接的同学,请移步至文章末尾。本文一如既往调试实战。源码好找,调试不易。如果觉得有用就转发收藏吧。

下面就开始调试此系统,当然此系统是javaspring boot项目。其他语言的同学,可以参考一下其思想,java的同学建议转发收藏,因为本篇不只是源码这么简单。

该开源秒杀系统项目架构

由于此系统为开源系统,我这里就直接上作者的架构图了,尊重开源作者。高清大图,请到电商上或者作者主页查看。简单的说,此架构图中包含,高防IP层,SLB服务器负载均衡层,nginx应用负载层,以及各个运行容器,服务器,数据库等。


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

项目业务场景

大家体验过秒杀,生活在互联网世界外的人除外。在我们购物秒杀的时候,服务器会面临瞬间高并发。电脑旁边的小哥哥、小姐姐们如超市哄抢的大妈一般,疯狂的点着鼠标。请问你是不是?而此时其实货物库存少、便宜、稀缺限量,值得大家去抢购,如苹果肾,小米粉,锤子粉(理解万岁),以及现在的华为粉。

而此时的用户规模可大可小,几百或者上千人的活动单体架构足以可以应付,简单的加进程内队列就可以轻松搞定。一旦上升到百万、千万级别的规模就要考虑分布式集群来应对瞬时高并发。

这就是为什么要有秒杀这样的系统,来应付这样的场景。当然也是最考验IT电商公司的技术。其实秒杀里面的技术,几乎可以应用到任何与电子商务相关下单的场景下。

核心调试部分

1、第一步,从开源地址,把秒杀项目git clone下来,如下我这里使用的是IDEA。如果网络速度快,几秒就搞定了。网络速度慢就等一下吧。


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

2、导入之后的样子是这个样子的。当然此项目是基于Java 的 spring boot 的。


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

3、启动秒杀依赖环境。zookeeperredis,kafka等。如下图,当然我调试的是windows环境,其他环境也是如此,这里就不多说了,按我说的启动环境就对了。


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

4、修改项目中的配置

如果你是本机的都改成 127.0.0.1 。如果条件允许,你是多台机器,请把配置 application.properties 中相关redis、zk以及kafka相关服务器IP地址。


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

5、导入sql,当然此项目中有sql的,简单的两个表,去源码里找即可。


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


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

导入后大

6、启动项目,然后访问本机的 localhost:8080,后面可以加 /seckill/swagger-ui.html 查看秒杀系统里的接口。


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

7、当然你自己可以用jmetter 压测,也可以用postman工具测试。这里就不多说了,感兴趣的自己去探索吧,另外开源地址上也有很多说明。

原文 

http://developer.51cto.com/art/201911/605740.htm

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 双十一光棍节调试一个商城必备功能,Java Springboot开源秒杀系统

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址