緒論
開門見山的說,Java校招面試界有一個賊拉出名的項目,無人不知無人不曉。那就是傳說中的互聯網Java秒殺系統
:miaosha
。對,就是這麼程序員的命名。
可以看到,迄今爲止,這個項目已經有13.3k的星星和3.1k的fork。
那麼作爲一個準備校招的本科生小白,當然對這個項目覬覦不已,但是由於時間不足一直無法染指。
正好趁着這段時間賦閒在家,來講這個項目層層剝離,給各位觀衆老爺們娓娓道來。
面向人羣
計算機科班本科三年級及以上及同等學力
環境
類別 | 工具 | 可選 | 說明 |
---|---|---|---|
IDE | IDEA | 無 | 集成開發環境 |
Git | Git | 無 | 版本控制,代碼託管 |
數據庫 | Mysql | 無 | 數據庫 |
數據庫管理工具 | Navicat | 其他數據庫管理工具 | 可視化管理數據庫 |
遠程連接工具 | Xshell | Putty | 連接服務器 |
遠程文件工具 | Xftp | 無 | 給服務器發送文件 |
服務器系統 | CentOS7 | Linux均可 | 有條件上VPS,無條件用虛擬機 |
項目首頁
https://github.com/qiurunze123/miaosha
本教程地址
本部分內容
介紹如何能夠至少運行一下這個項目
步驟
- 在秒殺項目首頁(https://github.com/qiurunze123/miaosha)點擊
fork
(如果不是想自己繼續在此基礎上修改的可以直接跳到步驟2) - 使用
git clone
到本地 - 導入到
idea
pom.xml
中加載依賴mysql
中新建miaosha
庫miaosha
庫運行miaosha.sql
- 部署
redis
- 部署
rabbitmq
- 給
rabbitmq
中添加miaoshatest
,miaosha.queue
隊列 - 將
mysql
、redis
、rabbitmq
的信息填入到src/main/resources/application.properties
中 - 運行
com.geekq.miaosha.GeekQMainApplication
- 訪問地址
http://localhost:8080/login/to_login
- 在
mysql miaosha
數據庫中把miaosha_user
中id
字段改爲自增
(默認的id爲手機號,密碼是123456加1a2b3c混淆) - 可以用自己的
手機號
註冊 - 修改
miaosha_good
中的start_time
和end_time
- 指定時間可進行秒殺
詳細步驟
1
fork
這一步是將別人的倉庫複製到自己的賬號中,所以如果只是想學習觀摩運行,可以跳過這一步
2
git clone
命令是將該項目從雲端倉庫,克隆一份到本地。相當於下載,所以不管是不是你的項目,都可以使用這個命令將其“據爲己有”
3
打開idea
選擇File-New-Project from Sources
,將剛纔clone的程序導入到開發環境中
4
如果正確的打開,項目目錄如下圖所示。
進入根目錄中的pom.xml
文件,這兒存放着運行本項目所需要的依賴。
右鍵pom.xml
,選擇Add as maven project
或者如圖,選擇Maven-Reimport
,即可從網上添加依賴,不需要自己導入jar包。
注意:如果下載很慢,請更改倉庫
在pom.xml
文件中加入以下代碼,將倉庫更改爲阿里雲的倉庫
<repositories>
<repository>
<id>aliyun</id>
<name>aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</repository>
</repositories>
5
使用Navicat
或其他軟件鏈接你的mysql
數據庫,新建miaosha
庫
6
在miaosha
庫運行根目錄下的miaosha.sql
文件,即可創建必要的表
運行完之後,結果如圖
7
在你的服務器上部署redis
在這裏推薦一鍵部署redis(https://www.cnblogs.com/cjyboy/p/11249422.html)
該腳本直接執行會出錯,需要將windows換行符替換爲Linux換行符,作者的命令有誤
命令如下
sed -i 's/\r//' auto_install_redis.sh
8
然後是部署rabbitMQ
這個部分問題很多,安裝Erlang
rabbitMQ
都有諸多的問題,待老爺們自己解決
這裏推薦這篇centos7 搭建rabbitmq服務 3.7.15(https://www.cnblogs.com/sz-jack/p/11121947.html)
不需要自己各種解壓和轉移文件夾
並且此時要新建一個admin
賬號方便後面使用
9
如果一切順利,輸入http://ip:15672/
就可以進入rabbitMQ
的管理界面了
點擊Queues
,添加以下兩個隊列
10
將剛纔的mysql redis rabbitMQ
的一些信息填入到中
比如這幾項,需要老爺們仔細查看文件結構,不要漏掉需要填寫的
11
一切無誤後,點擊左上方運行
如果成功,將提示以下信息
如果配置信息或者部署有問題的話,這一步bug很多,請自行google
12
進入登錄界面http://localhost:8080/login/to_login
此時已經成功將系統跑起來了
13-16
後面的內容都是對系統進行的簡單測試,各位看官可酌情自我探索,這裏先行不表