雙十一光棍節調試一個商城必備功能,Java Springboot開源秒殺系統
開篇
秒殺系統在電商系統中是非常重要的,不是因為秒殺這個功能重要,而是因為秒殺提現的是一個系統的并發負載能力。例如阿里巴巴或者京東,每年的雙十一的峰值,其實就是下一年的常態,雙十一各項技術指標,已經作為這些電商公司的年度技術指標指引。
如果你的系統,秒殺都能承受的了,一般,在應對高峰流量的時候就不會出太大問題。今天就來調試一個開源的秒殺項目。本文繼續實戰調試。如果有需要開源鏈接的同學,請移步至文章末尾。本文一如既往調試實戰。源碼好找,調試不易。如果覺得有用就轉發收藏吧。
下面就開始調試此系統,當然此系統是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工具測試。這里就不多說了,感興趣的自己去探索吧,另外開源地址上也有很多說明。